當前位置:商標查詢大全網 - 彩票查詢 - 如何在scrapy框架下用python實現爬蟲自動跳轉頁面抓取網頁內容?

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

Scrapy是壹個用Python寫的爬蟲框架,簡單輕量,非常方便。Scrapy使用Twisted,壹個異步網絡庫,來處理網絡通信。它架構清晰,包含各種中間件接口,可以靈活滿足各種需求。Scrapy的整體架構如下圖所示:

根據架構圖,本文介紹了Scrapy中的主要組件及其功能:

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

調度程序:接收來自引擎的請求,並對它們進行排隊,以便在引擎稍後請求它們時可以將它們提供給引擎。

下載器:負責獲取頁面數據並提供給引擎,再提供給蜘蛛。

Spider:Scrapy用戶編寫類來分析響應,並提取項目(即獲得的項目)或URL以進行額外的跟進。每個蜘蛛負責處理壹個特定的(或壹些網站)。

項目管道:負責處理蜘蛛提取的項目。典型的處理包括清理、驗證和持久化(比如存儲在壹個數據庫中,後面會在MySQL中介紹,其他數據庫也差不多)。

下載器中間件(Downloader middlewares):是引擎即下載器之間的壹個特殊鉤子,用來處理下載器發送給引擎的響應。它提供了壹個簡單的機制,通過插入自定義代碼來擴展Scrapy的功能(後面我們會介紹如何配置壹些中間體並激活它們來對付反爬蟲)。

蜘蛛中間件:它是引擎和蜘蛛之間的壹個特殊鉤子,處理蜘蛛的輸入(響應)和輸出(條目,即請求)。它提供了壹個簡單的機制,通過插入自定義代碼來擴展Scrapy函數。