python爬蟲 爬蟲異常處理

2021-10-03 20:58:14 字數 748 閱讀 2179

異常處理概述;

常見狀態碼和含義;

urlerror與httperror;

爬蟲遇到異常時就會直接崩潰停止執行,下次再次執行時,又會重新開始。所以開發乙個具有頑強生命力的爬蟲,必須進行異常處理。

兩者都是異常處理的類, httperror是urlerror的子類, httperror有異常狀態碼與異常原因, urlerror沒有異常狀態碼,所以,在處理的時候,不能使用urlerror直接代替httperror。如果要代替,必須要判斷是否有狀態碼屬性。

連不上伺服器

遠端的url不存在

本地沒有網路

觸發了httperror的子類

import urllib.error

import urllib.request

try:

urllib.request.urlopen(

"")except urllib.error.urlerror as e:

ifhasattr

(e,'code'):

print

(e.code)

ifhasattr

(e,'reason'):

print

(e.reason)

file "", line 5

except urllib.error.urlerror as e

^syntaxerror: invalid syntax

爬蟲異常處理

狀態碼 含義200 成功 成功 伺服器已成功處理了請求。通常,這表示伺服器提供了請求的網頁 301 永久移動 請求的網頁已永久移動到新位置。伺服器返回此響應 對 get 或 head 請求的響 應 時,會自動將請求者轉到新位置。302 臨時移動 伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用...

爬蟲異常處理

在這個模組中 urllib.error urlerror httperror都是異常處理類,為了讓 更加的健壯 exception 官方的異常基類,所有的異常類都是直接或者間接的繼承這個類 urlerror 如果斷網或者主機不存在 httperror 請求的資源不存在,比如404 urlerror可...

爬蟲 異常處理

爬蟲的異常處理 網頁在伺服器上不存在 或者獲取頁面的時候出現錯誤 伺服器不存在 第一種異常發生時,程式會返回 http 錯誤。http 錯誤可能是 404 page not found 500 internal server error 等。所有類似情形,urlopen函式都會丟擲 httperro...