scrapy 架构文档

 

这是中文文档网址

https://scrapy-chs.readthedocs.io/zh_CN/0.24/topics/architecture.html

scrapy 架构文档

英文文档 https://doc.scrapy.org/en/latest/topics/architecture.html

scrapy 架构文档

 

scrapy各部分之间的数据流向是如何交互:

1>引擎将起始url构造成Request交给调度器;

2>调度器对Request对象生成指纹信息,根据是否去重来决定是否将Request放入队列中;

3>引擎从调度器的队列中不断得获取下一个Request请求;

4>引擎将Request请求交给下载器Downloader进行下载,期间会经过下载器中间件process_request的处理;

5>下载器下载完成以后,经过process_response将Response对象返回给引擎;

6>引擎将Response对象交给爬虫Spider进行解析,提取数据,期间经过爬虫中间件;

7>爬虫Spider将提取的结果传递给引擎,引擎将item交给管道,将Request对象交给调度器继续调度;

 

scrapy 架构文档

 

scrapy 架构文档

 

DownoadMiddleware的作用:

下载器中间件,可以在发起请求之前对Request对象添加必要得信息,比如请求头,Cookie等。

自定义:

需要实现process_request()函数和process_response()函数。

 

ItemPipeline的作用:

 

对爬虫解析出来得item对象进行数据得保存。

自定义:process_item()函数。