Scrapy框架-scrapy框架架構詳解
阿新 • • 發佈:2019-02-24
分享圖片 temp 器) loader com 負責 回來 rap 網絡
1.Scrapy框架介紹
寫一個爬蟲,需要做很多的事情。比如:發送網絡請求、數據解析、數據存儲、反反爬蟲機制(更換ip代理、設置請求頭等)、異步請求等。這些工作如果每次都要自己從零開始寫的話,比較浪費時間。因此Scrapy把一些基礎的東西封裝好了,在他上面寫爬蟲可以變的更加的高效(爬取效率和開發效率)。因此真正在公司裏,一些上了量的爬蟲,都是使用Scrapy框架來解決。
2.Scrapy架構圖
流程圖1:
流程圖2:
3.Scrapy框架模塊功能
- Scrapy Engine(引擎):Scrapy框架的核心部分。負責在Spider和ItemPipeline、Downloader、Scheduler中間通信、傳遞數據等。
- Spider(爬蟲):發送需要爬取的鏈接給引擎,最後引擎把其他模塊請求回來的數據再發送給爬蟲,爬蟲就去解析想要的數據。這個部分是我們開發者自己寫的,因為要爬取哪些鏈接,頁面中的哪些數據是我們需要的,都是由程序員自己決定。
- Scheduler(調度器):負責接收引擎發送過來的請求,並按照一定的方式進行排列和整理,負責調度請求的順序等。
- Downloader(下載器):負責接收引擎傳過來的下載請求,然後去網絡上下載對應的數據再交還給引擎。
- Item Pipeline(管道):負責將Spider(爬蟲)傳遞過來的數據進行保存。具體保存在哪裏,應該看開發者自己的需求。
- Downloader Middlewares(下載中間件):可以擴展下載器和引擎之間通信功能的中間件。
- Spider Middlewares(Spider中間件):可以擴展引擎和爬蟲之間通信功能的中間件。
Scrapy框架-scrapy框架架構詳解