1. 程式人生 > >python爬蟲中遇到的假死問題

python爬蟲中遇到的假死問題

timeout 處理 The error style err AS continue exce

如在請求一個URL,網站沒有響應的時候,會無限卡死進程。這個時候我們可以在urllib2.urlopen設置一個超時時間,超過這個時間的話就拋出異常。如下所示。

我們可以捕抓到這個異常然後用自己的方法去處理。

try:
req = urllib2.Request(imgurl,None,headers=headers)
response = urllib2.urlopen(req,timeout=5)
the_page = response.read()
except socket.timeout as e:
response.close()
except urllib2.HTTPError as e:
continue

常見的還有404,url無效的錯誤。註意,整這個過程真正發送和接收請求的是在response.read()時.

python爬蟲中遇到的假死問題