python爬蟲(六)

  • 2020 年 1 月 17 日
  • 筆記

Scrapy(一)

scrapy是一個網絡爬蟲的通用框架,在許多應用當中可以用於數據提取,信息處理等。 如何安裝scrapy呢? 如果你安裝了Anaconda,則可以使用:conda install scrapy進行安裝,如果沒有,但電腦中需帶有python的程序,使用該命令進行安裝:pip install scrapy. 建議使用conda操作,因為用pip下載一些包可能會設計到下載源的問題,需要修改下載源為清華或阿里的,比較麻煩,用conda安裝快捷方便省事。

Figure 1 scrapy流程圖 上圖就是scrapy的一個執行流程框圖,簡單的說就是:一個中心,四個基本點。 引擎:engine 調度器:schedular 下載器:downloader 管道機構:items pipeline 爬蟲機構:spider (1)引擎向爬蟲要url請求,爬蟲將url請求交給引擎。交給引擎的過程中,會通過爬蟲中間件對這個請求進行處理。 (2)引擎將這個url請求交給調度器,調度器將這個請求放入自身的隊列當中,以便獲取下一次請求並提交請求。 (3)引擎問調度器要一個請求,將該請求發往下載器,在交給下載器的過程中會通過下載中間件對請求進行處理下載器拿到該請求後,向互聯網請求響應。 (4)當下載器獲得從互聯網發來的請求後,迅速將該響應交給引擎,交給引擎的過程中可能會通過下載中間件對響應進行處理。 (5)引擎拿到這個先響應後,將該響應通過爬蟲中間件交給爬蟲處理機構。 (6)爬蟲機構對這個響應進行處理,並將處理結果交給引擎。 (7)引擎會對這個結果做一定的分類,一部分是要交給調度器的新的url請求,另一部分是交給管道的,將爬蟲處理的結果交給管道機構做進一步處理,如消除部分數據,存儲數據等。 (8)返回(1)操作,直到爬蟲不再有請求發出,調度器隊列為空時停止運行。