码迷,mamicode.com
首页 > 编程语言 > 详细

python爬虫框架 — Scrappy

时间:2016-05-18 13:49:19      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:Python   scrapy   

    Python爬虫框架有很多种,可是我们经常谈论使用的却屈指可数,今天就给大家谈谈Python爬虫框架——Scrapy是一个快速、高层次、轻量级的屏幕抓取和web抓取python爬虫框架,主要用于抓取特定web站点的信息并从页面中提取结构化的数据。

    由于Scrapy的框架特性,也支持开发者根据自己的需求对框架进行修改,方便开发者开发出更适合的python爬虫。除此之外,Scrapy还提供了多 种类型的爬虫基类,包括BaseSpidersitemap爬虫等等,最新版本同时也提供了web2.0爬虫的支持。下面我们一起来详细的了解一下 Scrapy吧。

Scrappy的用途

    Scrapy用途非常广泛,除了抓取web站点信息并从页面提取结构化数据外,还可用于数据挖掘、监测、自动化测试、信息处理和历史片(历史记录)打包等等。

Scrapy的组件

1、引擎,用来处理整个系统的数据流处理,触发事务。

2、调度器,用来接受引擎发过来的请求,压入队列中,并在引擎再次请求的时候返回。

3、下载器,用于下载网页内容,并将网页内容返回给蜘蛛。

4、蜘蛛,蜘蛛是主要干活的,用它来制订特定域名或网页的解析规则。

5、项目管道,负责处理有蜘蛛从网页中抽取的项目,主要任务是清晰、验证和存储数据。当页面被蜘蛛解析后,将被发送到项目管道,并经过几个特定的次序处理数据。

6、下载器中间件,位于Scrapy引擎和下载器之间的钩子框架,主要是处理Scrapy引擎与下载器之间的请求及响应。

7、蜘蛛中间件,介于Scrapy引擎和蜘蛛之间的钩子框架,主要工作是处理蜘蛛的响应输入和请求输出。

8、调度中间件,介于Scrapy引擎和调度之间的中间件,从Scrapy引擎发送到调度的请求和响应。

 

Scrapy数据处理流程

Scrapy的数据处理由Scrapy引擎进行控制,其处理流程为:

1、引擎打开一个域名时,蜘蛛处理这个域名,并让蜘蛛获取第一个爬取的URL

2、引擎从蜘蛛那获取第一个需要爬取的URL,然后作为请求在调度中进行调度。

3、引擎从调度那获取接下来进行爬取的页面。

4、调度将下一个爬取的URL返回给引擎,引擎将他们通过下载中间件发送到下载器。

5、当网页被下载器下载完成以后,响应内容通过下载中间件被发送到引擎。

6、引擎收到下载器的响应并将它通过蜘蛛中间件发送到蜘蛛进行处理。

7、蜘蛛处理响应并返回爬取到的项目,然后给引擎发送新的请求。

8、引擎将抓取到的项目项目管道,并向调度发送请求。

9、系统重复第二部后面的操作,直到调度中没有请求,然后断开引擎与域之间的联系。

    Scrappy 是一个简洁、高效的python爬虫框架,使用它可以很方便的完成网上数据采集工作。麦子学院即将推出Scrappy框架视频教程,深入浅出的剖析Scrappy框架的各项应用,想了解Scrappy框架最新知识点的童鞋们敬请关注。

python爬虫框架 — Scrappy

标签:Python   scrapy   

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
麦子学院
加入时间:2015-07-08
  关注此人  发短消息
文章分类
麦子学院”关注的人------(0
麦子学院”的粉丝们------(0
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!