python爬虫框架 — Scrappy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫框架 — Scrappy相关的知识,希望对你有一定的参考价值。

    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之爬虫框架概述

Python爬虫教程-30-Scrapy 爬虫框架介绍

python爬虫-什么时候选择selenium框架框架?

python爬虫一般用什么框架?六大Python框架

Python的爬虫框架都有哪些?

Python都有哪些常见的,好用的爬虫框架