zoukankan      html  css  js  c++  java
  • Scrapy架构概述

    Scrapy架构概述


        1, 从最初自己编写的spiders,获取到start_url,并且封装成Request对象。

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

        3,SCHEDULER管理ENGINE传递过来的所有Requests,通过优先级,传递给ENGINE。

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

        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进行管理调度

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

  • 相关阅读:
    第03组 Beta冲刺(2/5)
    2019 SDN上机第6次作业
    第03组 Beta冲刺(1/5)
    2019 SDN上机第5次作业
    SDN课程阅读作业(2)
    2019 SDN上机第4次作业
    第05组 团队Git现场编程实战
    第05组 团队项目-需求分析报告
    团队项目-选题报告
    第07组 Alpha事后诸葛亮
  • 原文地址:https://www.cnblogs.com/ruoniao/p/7327995.html
Copyright © 2011-2022 走看看