Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。
1 Scrapy Engine(Scrapy 引擎):处理整个系统的数据流,触发各种事件。
2 Scheduler (调度器):从UQL列队中取出一个UQL。
3 Downloader (下载器):从Internet上下载web资源。
4 Spiders (网络爬虫):接受下载器下载的原始数据,做进一步的处理。
5 Item Pipeline (项目管道):接受网络爬虫传过来的数据,做进一步处理。
6 中间件:夹在不同部分之间截获数据流,并进行特殊的加工处理。
以上各部分的工作流程1爬虫中起始的URL构造成Requests对象 ——>爬虫中间件 ——>引擎——>调度器
2调度器把Requests——>引擎——>下载中间件——>下载器
3下载器发送请求,获取Responses响应——>下载中间件——>引擎——>爬虫中间件——>爬虫
4爬虫提取URL地址,组装成Requests对象——>爬虫中间件——>引擎——>调度器,调度器把 Requests——>引擎——>下载中间件——>下载器
5爬虫调取数据——>引擎——>管道处理和保存数据
以上各部分作用1 Scrapy Engine:总指挥,负责数据和信号的在不同模块间传递
2 Scheduler:一个队列,存放引擎发过来的request请求
3 Down Loader:下载把引擎发过来的requests请求,并返回给引擎
4 Spider:处理引擎发来的response,提取数据,提取url,并交给引擎
5 Item Pipeline:处理引擎传过来的数据
6 DownLoader Middlewares:可以自定义的下载扩展
7 Spider MiddlewaresSpider:可以自定义requests请求和进行response过滤



