Scrapy架构概述

Scrapy架构概述


 

    1, 从最初本身编写的spiders,获取到start_url,而且封装成Request对象。架构

    2,经过engine(引擎)调度给SCHEDULER(Requests管理调度器)。ide

    3,SCHEDULER管理ENGINE传递过来的全部Requests,经过优先级,传递给ENGINE。编码

    4,ENGINE 将传递过来的Request对象传递给Downloader(下载器),可是在传递之间会经过MiddleWare(中间件)对Requests进行包装,添加头部,代理IP之类的。url

    5,Downloader(下载器)将包装好的Requests进行下载,并将下载后的Response对象传递给Engin。代理

    6,Engin将Response对象传递给本身编码的Spider,可是中间仍有对于Response加工的中间件,在spider中经过本身编写的规则对内容进行提取。中间件

    7,提取完成后会产生两种对象,一个是本身想要的数据,存储在Item中;另外一个是想要继续爬取的URL,包装成Request一并传递给Engine对象

    8,Engine获取到 7 传递过来的Item,将其传递给ItemPipelines(Item管道,将Item中数据写入存储);获取到 7 传递来的Requests对象,跟以前同样,交给SCHEDULER进行管理调度blog

    9,SCHEDULER中没有Requests对象须要下载时,爬虫关闭。ip

相关文章
相关标签/搜索