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

相關文章
相關標籤/搜索