爬蟲 異常處理

2022-06-17 20:18:15 字數 733 閱讀 6627

爬蟲的異常處理:

• 網頁在伺服器上不存在(或者獲取頁面的時候出現錯誤)

• 伺服器不存在 

第一種異常發生時,程式會返回 http 錯誤。http 錯誤可能是「404 page not found」「500 internal server error」等。所有類似情形,urlopen函式都會丟擲「httperror」異常。我們 可以用下面的方式處理這種異常:

# 返回空值,中斷程式,或者執行另乙個方案

else:

# 程式繼續。注意:如果你已經在上面異常捕捉那一段**裡返回或中斷(break),

# 那麼就不需要使用else語句了,這段**也不會執行 

如果程式返回 http 錯誤**,程式就會顯示錯誤內容,不再執行 else 語句後面的**。

如果伺服器不存在(就是說鏈結 打不開,或者是 url 鏈結 寫錯了),urlopen 會返回乙個 none 物件。這個物件與其他程式語言中的 null 類似。我們 可以增加乙個判斷語句檢測返回的 html 是不是 none:

if html is none:

print("url is not found")

else:

# 程式繼續 

爬蟲的超時處理:

爬蟲異常處理

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

爬蟲異常處理

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

python爬蟲 爬蟲異常處理

異常處理概述 常見狀態碼和含義 urlerror與httperror 爬蟲遇到異常時就會直接崩潰停止執行,下次再次執行時,又會重新開始。所以開發乙個具有頑強生命力的爬蟲,必須進行異常處理。兩者都是異常處理的類,httperror是urlerror的子類,httperror有異常狀態碼與異常原因,ur...