www.8029.com-首页

教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

传智教育|传智播客

一样的教育,不一样的品质

全国校区

 

Scrapy框架结构组件有哪些?【Scrapy框架先容】

更新时间:2021年06月18日16时26分 来源:传智教育 浏览次数:

学习Scrapy框架,从理解它的架构开始。

Scrapy框架架构图
Scrapy框架

从上图可知,Scrapy框架主要包含以下组件:

(1) Scrapy Engine (引擎) :负责Spiders、Item Pipeline、Downloader、Scheduler之间的通信,包括信号和数据的传递等。

(2) Scheduler (调度器):负责接收引擎发送过来的Request请求,并按照一定的方式进行整理排列和人队,当引擎需要时,交还给引擎。

(3) Downloader (下载器) :负责下载Scrapy Engine 发送的所有Requests (请求) ;并将其获取到的Responses (响应)交还给Scrapy Engine,由Scrapy Engine交给Spider来处理。

(4) Spiders (爬虫) :负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进人Scheduler (调度器)。

(5) Item Pipeline (管道):负责处理Spiders中获取到的Item数据,并进行后期处理(详细分析、过滤、存储等)。

(6) Downloader Middlewares (下载中间件):是一个可以自定义扩展下载功能的组件。

(7) Spider Middlewares (Spider中间件):是一个可以自定义扩展Scrapy Engine和Spiders中间通信的功能组件(例如,进人Spiders的Responses和从Spiders出去的Requests)。

Scrapy的这些组件通力合作,共同完成整个爬取任务。架构图中的箭头是数据的流动方向,首先从初始URL开始,Scheduler 会将其交给Downloader进行下载,下载之后会交给Spiders进行分析。Spiders分析出来的结果有两种:一种是需要进一步爬取的链接,例如之前分析的“下一页”的链接,这些会被传回Scheduler;另一种是需要保存的数据,它们被送到Item Pipeline,这是对数据进行后期处理(详细分析、过滤、存储等)的地方。另外,在数据流动的通道里还可以安装各种中间件,进行必要的处理。



猜你喜欢:

Python如何使用pymysql链接mysql数据库?

爬虫适合使用Mysql还是Mongdb?

Python如何安装pymysql模块?

传智教育高级python+大数据培训课程

www.8029.com|www.8029.com

XML 地图 | Sitemap 地图