當爬取頁面狀態碼是異常狀態碼,但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 一般是...