Scrapy框架解析

Scrapy框架解析

Engine
(1) 控制所有模块之间的数据流
(2)根据条件触发事件
不需要用户修改

Downloader
根据请求下载网页
不需要用户修改

Scheduler
对所有爬取请求进行调度管理
不需要用户修改

Downloader Middleware
目的:事实Engine、Scheduler和Downloader之间进行用户可配置的控制
功能:修改、丢弃、新增请求或响应
用户可以编写配置编码

Spider
(1)解析Downloader返回的响应(Response)
(2)产生爬取项(Scraped item)
(3)产生额外的爬取请求(Request)
需要用户编写配置代码

Item Pipelines
(1)以流水线方式处理Spider产生的爬取项
(2)由一组操作顺序组成,类似流水线,每个操作是一个Item Pipeline类型
(3)可能操作包括:清理、检验和查重爬取项中的HTML数据、将数据储存到数据库
需要用户编写配置代码

Spider Middleware
目的:对请求和爬取项的再处理
功能:修改、丢弃、新增请求或爬取项
用户可以编写配置代码