爬蟲庫urllib使用(2) 處理異常

2021-10-17 02:34:52 字數 1442 閱讀 9507

在我們請求的過程中會遇到網路不好或者程式連線有問題的情況,如果這些異常不處理,程式可能會因為報錯而終止執行。

urlerror類來自於urllib庫的error模組,是error異常模組中的基類,由request模組中的異常都可以通過這個類處理。

from urllib import request,error

try:

responde = request.urlopen(

"")except error.urlerror as e:

print(e.reason)

執行結果:

他是urlerror的子類,專門處理http請求錯誤,比如認證失敗,有三個屬性

code:返回http狀態碼

reason:返回錯誤原因

header:返回請求頭

)# 因為urlerror是httperror的父類,所以可以先捕捉子類的錯誤,再捕獲父類的錯誤

except error.urlerror as e:

print(e.reason)

else:

print(

"request success"

)執行結果:

依次輸出reason、code、header。**中先捕獲httperror,獲取錯誤資訊,如果不是httperror異常,再捕獲urlerror異常。

有時候reason屬性返回來的不一定是乙個字串,還可能是乙個物件

try:

response = request.urlopen(

"", timeout=0.001)

except urllib.error.urlerror as e:

print(type(e.reason))

if isinstance(e.reason, socket.timeout):

print(

"time out"

)

執行結果

reason 是乙個socket.timeout類,我們可以判斷出他的型別,做出更詳細的異常判斷。

爬蟲 urllib2庫的使用

所謂網頁抓取,就是把url位址中指定的網路資源從網路流中讀取出來,儲存到本地。在python中有很多庫可以用來抓取網頁,我們先學習urllib2。urllib2 官方文件 urllib2 原始碼 urllib2在 python3.x 中被改為urllib.request 我們先來段 urllib2 ...

Struts2處理流程

基本簡要流程如下 1 客戶端瀏覽器發出 請求。2 根據 web.xml 配置,該請求被 filterdispatcher 接收。3 根據 struts.xml 配置,找到需要呼叫的 action 類和方法,並通過 ioc方式,將值注入給 aciton。4 action 呼叫業務邏輯元件處理業務邏輯,...

C Tips2 處理資料

1.以兩個下劃線或大寫字母和下劃線開始的變數不違法,但可能會導致不確定性。單下劃線開頭用作全域性識別符號。2.c 提供一種靈活的標準 3.在climits 中包含了一些限制資訊,如int max為最大的int,char bit為位元組位數。4.c 新增了一種c中沒有的初始化語句 int new in...