Scrapy處理異常狀態碼

2021-09-11 03:53:38 字數 1282 閱讀 4119

當爬取頁面狀態碼是異常狀態碼,但response是正常的時候,正常情況scrapy框架會判斷狀態碼,如果不是正常狀態碼會停止後續操作。

raise httperror(response, 'ignoring non-200 response')通過上面**,可以看出,如果在請求一些頁面狀態碼異常,但response是正常的時候可以在請求的時候(request)加乙個引數就可以讓異常狀態碼進行後續的操作。

request(url=url, callback=函式名, meta=
當然也可以採用判斷特定狀態碼進行後續操作,定義乙個名handle_httpstatus_list的列表裡面存入要跳過的異常狀態碼; 也可以在settings.py檔案中加,這樣所有爬蟲就都支援了,具體看自我需求。

def process_response(self, request, response, spider):

if response.status == 異常狀態碼:

return request

else:

return response

系統會自動呼叫你定義的這個函式(要保證settings呼叫這個middleware類),判斷狀態碼是否是異常狀態碼,如果是會重新傳送請求。

處理HTTP狀態碼

1.1.4 處理http狀態碼 回車,獲得響應狀態碼 http狀態碼表示http協議所返回的響應的狀態。比如客戶端向伺服器傳送請求,如果成功地獲得請求的資源,則返回的狀態碼為200,表示響應成功。如果請求的資源不存在,則通常返回404錯誤。http狀態碼通常分為5種型別,分別以1 5五個數字開頭,由...

401狀態碼公升級處理

401狀態碼 axios向伺服器端傳送請求時有兩種情況會出現401狀態碼 unauthorized未授權 服務端要求傳遞token資訊,而實際沒有傳遞。有傳遞token到達伺服器端,但由於時間比較久,這個token在伺服器中已經過期了 伺服器儲存token有效期時間為2個小時 總之,伺服器端有些ap...

117 狀態碼錯誤處理

在一些 開發中,經常會需要捕獲一些錯誤,然後將這些錯誤返回比較優美的介面,或者是將這些錯誤的請求做一些日誌儲存。1.404 伺服器沒有指定的url。3.405 請求的method錯誤。4.400 bad request,請求的引數錯誤。5.500 伺服器內部錯誤,一般是 出bug。6.502 一般是...