[scrapy]scrapy源码分析–中间件是如何加载的

举报
~大鱼~ 发表于 2021/05/27 18:15:17 2021/05/27
【摘要】 中间件是scrapy的核心部分,数据的传递,队列的维护,都是靠中间件,所以了解他的生命周期还是很有必要的   https://github.com/scrapy/scrapy/blob/master/scrapy/core/spidermw.py def _add_middleware(self, mw): super(SpiderMiddlewareM...

中间件是scrapy的核心部分,数据的传递,队列的维护,都是靠中间件,所以了解他的生命周期还是很有必要的

 

https://github.com/scrapy/scrapy/blob/master/scrapy/core/spidermw.py

将中间件的每内置的方法加入到方法链上,注意,这里的数值越小,处理越靠前,下同

https://github.com/scrapy/scrapy/blob/master/scrapy/core/scraper.py

这里就去处理spiderMiddleWare

itemproc_cls就是加载item pipeline了

并且处理item 和Request

参考源码:scrapy/scrapy/core/downloader/init.py

然后转向engine 简单理解就是在engine里面的运行时加载donwload(下载中间件)

将scraper也加入了引擎Engine

文章来源: brucedone.com,作者:大鱼的鱼塘,版权归原作者所有,如需转载,请联系作者。

原文链接:brucedone.com/archives/883

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。