利用Python的Scrapy框架十分钟爬取美女图的教程

简介

scrapy 是一个 python 下面功能丰富、使用快捷方便的爬虫框架。用 scrapy 可以快速的开发一个简单的爬虫,官方给出的一个简单例子足以证明其强大:

快速开发

下面开始10分钟倒计时:

1. 初始化项目

scrapy startproject mzt

cd mzt

scrapy genspider meizitu meizitu.com

2. 添加 spider 代码:

定义 scrapy.Item ,添加 image_urls 和 images ,为下载图片做准备。

修改 start_urls 为初始页面, 添加 parse 用于处理列表页, 添加 parse_item 处理项目页面。

3. 修改配置文件:

DOWNLOAD_DELAY=1# 添加下载延迟配置

ITEM_PIPELINES={'scrapy.pipelines.images.ImagesPipeline':1}# 添加图片下载 pipeline

IMAGES_STORE='.'# 设置图片保存目录

4. 运行项目:

scrapy crawl meizitu

看,项目运行效果图

等待一会儿,就是收获的时候了

时间: 2024-10-29 23:22:03

利用Python的Scrapy框架十分钟爬取美女图的教程的相关文章

scrapy爬虫不能自动爬取所有页面

问题描述 scrapy爬虫不能自动爬取所有页面 学习scrapy第三天,在爬取wooyun白帽子精华榜的时候,不能爬取所有的页面. items.py # -*- coding: utf-8 -*- # Define here the models for your scraped items # # See documentation in: # http://doc.scrapy.org/en/latest/topics/items.html import scrapy class Wooyu

Python的Flask框架中实现简单的登录功能的教程

  Python的Flask框架中实现简单的登录功能的教程,登录是各个web框架中的基础功能,需要的朋友可以参考下 回顾 在前面的系列章节中,我们创建了一个数据库并且学着用用户和邮件来填充,但是到现在我们还没能够植入到我们的程序中. 两章之前,我们已经看到怎么去创建网络表单并且留下了一个实现完全的登陆表单. 在这篇文章中,我们将基于我门所学的网络表单和数据库来构建并实现我们自己的用户登录系统.教程的最后我们小程序会实现新用户注册,登陆和退出的功能. 为了能跟上这章节,你需要前一章节最后部分,我们

在Python的Tornado框架中实现简单的在线代理的教程

  这篇文章主要介绍了在Python的Tornado框架中实现简单的在线代理的教程,代理功能是一个常见的网络编程实现,需要的朋友可以参考下 实现代理的方式很多种,流行的web服务器也大都有代理的功能,比如http://www.tornadoweb.cn用的就是nginx的代理功能做的tornadoweb官网的镜像. 最近,我在开发一个移动运用(以下简称APP)的后台程序(Server),该运用需要调用到另一平台产品(Platform)的API.对于这个系统来说,可选的一种实现方式方式是APP同时

在Python的Django框架中用流响应生成CSV文件的教程

  这篇文章主要介绍了在Python的Django框架中用流响应生成CSV文件的教程,作者特别讲到了防止CSV文件中的中文避免出现乱码等问题,需要的朋友可以参考下 在Django里,流式响应StreamingHttpResponse是个好东西,可以快速.节省内存地产生一个大型文件. 目前项目里用于流式响应的一个是Eventsource,用于改善跨系统通讯时用户产生的慢速的感觉.这个不细说了. 还有一个就是生成一个大的csv文件. 当Django进程处于gunicorn或者uwsgi等web容器中

使用Python的Scrapy框架编写web爬虫的简单示例_python

 在这个教材中,我们假定你已经安装了Scrapy.假如你没有安装,你可以参考这个安装指南. 我们将会用开放目录项目(dmoz)作为我们例子去抓取. 这个教材将会带你走过下面这几个方面:     创造一个新的Scrapy项目     定义您将提取的Item     编写一个蜘蛛去抓取网站并提取Items.     编写一个Item Pipeline用来存储提出出来的Items Scrapy由Python写成.假如你刚刚接触Python这门语言,你可能想要了解这门语言起,怎么最好的利用这门语言.假如

利用Python的Django框架中的ORM建立查询API_python

 摘要 在这篇文章里,我将以反模式的角度来直接讨论Django的低级ORM查询方法的使用.作为一种替代方式,我们需要在包含业务逻辑的模型层建立与特定领域相关的查询API,这些在Django中做起来不是非常容易,但通过深入地了解ORM的内容原理,我将告诉你一些简捷的方式来达到这个目的. 概览 当编写Django应用程序时,我们已经习惯通过添加方法到模型里以此达到封装业务逻辑并隐藏实现细节.这种方法看起来是非常的自然,而且实际上它也用在Django的内建应用中.   >>> from dja

利用Python的Flask框架来构建一个简单的数字商品支付解决方案_python

作为一个程序员,我有时候忘了自己所具有的能力.当事情没有按照你想要的方式发展时,却很容易忘记你有能力去改变它.昨天,我意识到,我已经对我所出售的书的付款处理方式感到忍无可忍了.我的书完成后,我使用了三个不同的数字商品支付处理器,在对它们三个都感到不满后,我用Python和Flask,两个小时的时间写出了我自己的解决方案.没错!两个小时!现在,这个系统支撑着我的书籍付费流程,整个过程难以置信的简单,你可以在20秒内购买书籍并开始阅读. 往下看,看我是如何在一夜之间完成我自己的数字商品支付解决方案的

Scrapy ——自动多网页爬取(抓取某人博客所有文章)(四)

首先创建project: [python] view plain copy   scrapy startproject CSDNBlog   一. items.py编写 在这里为清晰说明,只提取文章名称和文章网址. [python] view plain copy   # -*- coding:utf-8 -*-      from scrapy.item import Item, Field      class CsdnblogItem(Item):       """存

scrapy自动多网页爬取CrawlSpider类(五)

一.目的. 自动多网页爬取,这里引出CrawlSpider类,使用更简单方式实现自动爬取. 二.热身. 1.CrawlSpider (1)概念与作用: 它是Spider的派生类,首先在说下Spider,它是所有爬虫的基类,对于它的设计原则是只爬取start_url列表中的网页,而从爬取的网页中获取link并继续爬取的工作CrawlSpider类更适合. (2)使用: 它与Spider类的最大不同是多了一个rules参数,其作用是定义提取动作.在rules中包含一个或多个Rule对象,Rule类与