scrapy架构个人解读

scrapy 架构图

 

 

 

从上图中可以看到scrapy的数据流向
1.从书写的spiders开始会抛出 (yield) requests 到scrapy引擎(engine)中
2.engine 没有对request 做任何处理,直接将 requests 交给 scheduler
3.由scheduler生成requests 重新交给engine
4.engine将从scheduler 中得到的requests 交给downloader处理,中间会经过downloader和engine之间的middleware进行过滤
5.downloader的下载结果会返回给engine,返回结果途中会经过downloader和engine之间的middleware过滤
6.engine将downloader的下载结果(httpResponse)交给spider进行处理解析,httpResponse会有middleware的过滤
7.spider将解析的结果(item 或 requests)交给engine处理,解析结果会有middleware的过滤
8.engine判断从spider得到的解析结果是item还是request,item交给itempipline进行处理,request交给scheduler处理

9.scheduler将得到的request进行 3 的操作 开始循环执行整个过程

备注:所有的数据都会经过engine,engine将得到的response交给spider,item交割itempipline,request交给scheduler,再从scheduler中获得request

猜你喜欢

转载自www.cnblogs.com/donghaonan/p/10415651.html