scrapy 執行邏輯

2022-01-10 10:47:10 字數 1098 閱讀 5368

爬蟲的步驟:傳送請求獲得響應→解析並提取資料→儲存資料

我們沿用這個樸素的邏輯去理解scrapy

一、傳送請求獲得響應

1、爬蟲傳送請求request到引擎

2、引擎將請求request傳遞給排程器scheduler佇列

3、排程器scheduler從請求佇列中向引擎輸送request

process_request(self, request, spider) 必須返回以下之一:

返回response:

則終止當前流程,也終止繼續呼叫其他process_request方法,將該response通過引擎返回給爬蟲

返回request:

則終止當前流程,也終止繼續呼叫其他process_request方法,將request返回給排程器,大多數情況是更換新的request請求

ignorerequest:

該異常就會交個process_exception方法進行處理; 如果沒有任何乙個方法處理該異常,那麼該請求就直接被忽略不會記錄錯誤日誌

process_request(self, request, spider)必須返回以下之一:

返回request:則中介軟體終止,該request返回引擎再給排程器

丟擲 ignorerequest 異常:該請求就被忽略了且不做記錄

6、引擎將response傳遞給爬蟲

二、解析並提取資料

7、爬蟲解析response,提取資料items或繼續向解析出來的url傳送請求給引擎

三、儲存資料

8、引擎將items傳遞給item pipeline,將請求傳遞給scheduler,繼續進行之前的步驟。

Scrapy執行過程

scrapy執行過程 1 建立爬蟲專案 scrapy startproject 專案名稱 2 建立爬蟲檔案 scrapy genspider 檔名稱 網域名稱 3 settings.py設定檔案中 user ageng ua偽裝 robotstxt obey false log level erro...

Scrapy 執行多個爬蟲

本文所使用的 scrapy 版本 scrapy 1.8.0 多個爬蟲 所有爬蟲 顯然,這兩種情況並不一定是等同的。假設當前專案下有 3 個爬蟲,分別名為 route dining experience,並在專案目錄下建立乙個main.py檔案,下面的示例 都寫在這個檔案中,專案執行時,在命令列下執行...

scrapy的安裝執行

方式一 直接在pycharm裡面的settigs projectinterpreter下面新增scrapy 方式二 方式一不可行,手動新增scrapy框架 第一步 安裝好conda和python 第二步 將conda配置到環境變數 第三步 在cmd安裝 conda install c conda f...