---恢复内容开始---
---恢复内容结束---
scrapy的运作流程
1,引擎:hi,spider,你要处理哪一个网站?
spider:老大我要处理XXXX.com。
1,引擎:你把第一个需要处理的url交给我吧。
spider:给你,第一个url是xxx.com
1,引擎:hi,调度器,我这儿有个request请求,你排队入序一下。
调度器:正在处理你等一下。
1,引擎:hi,调度器,吧你处理好的request请求给下我
调度器:好的,这是我处理好的request
1,引擎:hi,下载器,你按照老大的下载中间件的设置帮我下载一下这个request请求。
下载器:好的,这是下载好的东西。(如果error这个request请求,引擎就会告诉调度器,这个request下载失败,你记录一下,等会再下载)
1,引擎:hi,spider,这是下载好的东西,并且已经按照老大的下载中间件处理过了,你自己处理一下(注意,这儿的response默认是交给def parse()这个函数处理的)
spider:(处理完毕后对于需要跟进的url),hi,引擎,我这里是需要跟进url,还有这个是我获取到的item数据。
引擎:hi,管道 我这儿有个item你帮我处理下,调度器,这个是需要跟进的url你帮我处理下。然后从第四步开始循环,直到获取玩老大的全部信息。
管道:调度器;好的,现在做。
#注意,只有当调度器中不存在任何的request了,整个程序才会停止,(也就还是说,对于下载失败的url,scrapy也会重新下载)