您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何進行Scrapy框架知識的分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
今天就寫一下,我自己學到的關于框架的知識。
Spiders(爬蟲):它負責處理所有Responses,從中分析提取數據,獲取Item字段需要的數據,并將需要跟進的URL提交給引擎,再次進入Scheduler(調度器)
Engine(引擎):負責Spider、ItemPipeline、Downloader、Scheduler中間的通訊,信號、數據傳遞等。
Scheduler(調度器):它負責接受引擎發送過來的Request請求,并按照一定的方式進行整理排列,入隊,當引擎需要時,交還給引擎。
Downloader(下載器):負責下載Scrapy Engine(引擎)發送的所有Requests請求,并將其獲取到的Responses交還給Scrapy Engine(引擎),由引擎交給Spider來處理
ItemPipeline(管道):它負責處理Spider中獲取到的Item,并進行進行后期處理(詳細分析、過濾、存儲等)的地方.
Downloader Middlewares(下載中間件):你可以當作是一個可以自定義擴展下載功能的組件。
Spider Middlewares(Spider中間件):你可以理解為是一個可以自定擴展和操作引擎和Spider中間
通信的功能組件(比如進入Spider的Responses;和從Spider出去的Requests)
Scrapy 使用了 Twisted['tw?st?d]
(其主要對手是Tornado)異步網絡框架來處理網絡通訊,可以加快我們的下載速度,不用自己去實現異步框架,并且包含了各種中間件接口,可以靈活的完成各種需求。
scrapy的工作流程,我自己畫的圖:
1.首先Spiders(爬蟲)將需要發送請求的url(requests)經ScrapyEngine(引擎)交給Scheduler(調度器)。
2.Scheduler(排序,入隊)處理后,經ScrapyEngine,DownloaderMiddlewares(可選,主要有User_Agent, Proxy代理)交給Downloader。
3.Downloader向互聯網發送請求,并接收下載響應(response)。將響應(response)經ScrapyEngine,SpiderMiddlewares(可選)交給Spiders。
4.Spiders處理response,提取數據并將數據經ScrapyEngine交給ItemPipeline保存(可以是本地,可以是數據庫)。
5. 提取url重新經ScrapyEngine交給Scheduler進行下一個循環。直到無Url請求程序停止結束。
這就是基本的原理了,
URL ---> 會包裝成requests ---> 引擎 ---> 調度器 --->將這個requests排序,入隊列操作后 ---> 引擎 ---> 下載器 ---> 請求網頁獲取response---> 爬蟲spiders(解析響應的數據) ---> 管道(保存數據)
---> 新的URL新的requests(繼續循環,直到沒有URL)
關于如何進行Scrapy框架知識的分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。