當前位置:編程學習大全網 - 編程軟體 - 如何在scrapy框架下,用python實現爬蟲自動跳轉頁面來抓去網頁內容

如何在scrapy框架下,用python實現爬蟲自動跳轉頁面來抓去網頁內容

Scrapy是壹個用Python寫的Crawler Framework,簡單輕巧,並且非常方便。Scrapy使用Twisted這個異步網絡庫來處理網絡通信,架構清晰,並且包含了各種中間件接口,可以靈活地完成各種需求。Scrapy整體架構如下圖所示:

根據架構圖介紹壹下Scrapy中的各大組件及其功能:

Scrapy引擎(Engine):負責控制數據流在系統的所有組建中流動,並在相應動作發生觸發事件。

調度器(Scheduler):從引擎接收Request並將它們入隊,以便之後引擎請求request時提供給引擎。

下載器(Downloader):負責獲取頁面數據並提供給引擎,而後提供給Spider。

Spider:Scrapy用戶編寫用於分析Response並提取Item(即獲取到的Item)或額外跟進的URL的類。每個Spider負責處理壹個特定(或壹些網站)。

Item Pipeline:負責處理被Spider提取出來的Item。典型的處理有清理驗證及持久化(例如存儲到數據庫中,這部分後面會介紹存儲到MySQL中,其他的數據庫類似)。

下載器中間件(Downloader middlewares):是在引擎即下載器之間的特定鉤子(special hook),處理Downloader傳遞給引擎的Response。其提供了壹個簡便的機制,通過插入自定義代碼來擴展Scrapy功能(後面會介紹配置壹些中間並激活,用以應對反爬蟲)。

Spider中間件(Spider middlewares):是在引擎及Spider之間的特定鉤子(special hook),處理Spider的輸入(response)和輸出(Items即Requests)。其提供了壹個簡便的機制,通過插入自定義的代碼來擴展Scrapy功能。

  • 上一篇:eclipse字體大小怎麽設置
  • 下一篇:gets中文是什麽意思
  • copyright 2024編程學習大全網