国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

爬蟲養成記 - urllib2的調試和錯誤處理

CoffeX / 1962人閱讀

摘要:設置和處理事實上,并不是所有發起的請求都能得到服務器的回應。例如網絡無鏈接連接不到服務器鏈接不存在請求的方法不對等情況都會造成拋出錯誤。上面說到的出錯就會拋出。用于處理相關的錯誤。

urllib2的timeout

timeout參數用于設置超時。我們在爬取一些響應較慢的網站的時候,需要設置一個比較長的超時時間。

response = urllib2.urlopen(request, timeout=10)

上述代碼設置timeout為10秒。

設置Debug
import urllib2

httpHandler = urllib2.HTTPHandler(debuglevel=1)
opener = urllib2.build_opener(httpHandler)
urllib2.install_opener(opener)

urllib2.urlopen("http://www.zhihu.com")
URLError和HTTPError處理

事實上,并不是所有urllib2發起的請求都能得到服務器的回應。
例如

網絡無鏈接

連接不到服務器

鏈接不存在

請求的方法不對

等情況都會造成urllib2拋出錯誤。
urllib2提供了兩個Exception用于處理響應的錯誤。

URLError
URLError是HttpError的父類。上面說到的handlers出錯就會拋出URLError。

HTTPError
HTTPError是URLError的子類。用于處理Http相關的錯誤。

HTTPError除了reson屬性外還有code屬性。
code屬性即http狀態碼。更多狀態碼可以閱讀:http://www.cnblogs.com/shanyo...

下面我們來展示一下示例代碼:

import urllib2

headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
}
request = urllib2.Request("http://blog.csdn.net/cqcre", headers = headers)

httpHandler = urllib2.HTTPHandler(debuglevel=1)
opener = urllib2.build_opener(httpHandler)
urllib2.install_opener(opener)

try:
    response = urllib2.urlopen(request)
    print response.getcode()
except urllib2.HTTPError, e:
    print e.code, e.reason
except urllib2.URLError, e:
    print e.reason

值得注意的是 HTTPError是URLError的子類,因此在捕獲Exception的時候需要將子類放在前面避免Exception先被父類捕獲。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/38379.html

相關文章

  • 爬蟲養成 - 網絡下載器urllib2初認識

    摘要:申明本系列文章借鑒了慕課網的課程,。慕課網是一個非常贊的學習網站。是下的一個模塊,在中,被拆分成和實現一個最簡單的下載器使用函數可以給服務器發送一個請求。該函數返回一個該返回的對象有三個額外的函數取得服務器返回的。默認沒有的,請求方式為。 申明:本系列文章借鑒了慕課網的課程,http://www.imooc.com/learn/563。慕課網是一個非常贊的學習網站。 urllib2是p...

    AlphaWallet 評論0 收藏0
  • 爬蟲養成 - urllib2HTTPCookieProcessor

    摘要:相當于該用戶的檔案。上述的文字對機制描述的比較簡單也并不一定完全正確。但是默認的并不支持。中供我們使用的是。創建需要闖入一個存放的容器。即過期的也保存。目前博主只知道鏈接后帶的參數需要與相匹配。但是并不知道兩者具體的關系。 很多網站的資源需要用戶登錄之后才能獲取。我們一旦登錄后再訪問其他被保護的資源的時候,就不再需要再次輸入賬號、密碼。那么網站是怎么辦到的呢?一般來說,用戶在登錄之后,...

    gnehc 評論0 收藏0
  • 爬蟲養成 - 網絡下載器urllib2偽裝術

    摘要:發送請求方不希望被跟蹤。主要用來將偽裝成一個正常的瀏覽器。該字典就是說是網絡協議名稱,是代理的。另外一般會明確指定資源存放的位置。意思是將現在提交的數據存放于下第篇。請求刪除某一個資源。向服務器提交數據。 前一個教程我們涉及到了urllib2的一些高級應用。這一片文章我們來比較系統的介紹一下。 該篇教程參考了靜覓的博文:http://cuiqingcai.com/954.html。寫這...

    Darkgel 評論0 收藏0
  • 爬蟲養成 - 什么是網絡爬蟲

    摘要:趁著春節,希望能寫一個小小的網絡爬蟲框架。網頁下載器接收,將頁面內容下來??梢远x一個表,定義兩個字段和緩存數據庫網頁下載器網頁下載器就是更具下載網頁內容等。常見的網頁下載器有是官方的基礎模塊。 趁著春節,希望能寫一個小小的網絡爬蟲框架。先定一個小目標,希望能比較優雅地將某個網站上的所有圖片爬下來。暫時先將這個爬蟲的名字叫做Squirrel,小松鼠吧。 什么是爬蟲 爬蟲其實是一種從互聯...

    lucas 評論0 收藏0
  • 爬蟲 - 收藏集 - 掘金

    摘要:在這之前,還是有必要對一些概念超輕量級反爬蟲方案后端掘金前言爬蟲和反爬蟲日益成為每家公司的標配系統。 爬蟲修煉之道——從網頁中提取結構化數據并保存(以爬取糗百文本板塊所有糗事為例) - 后端 - 掘金歡迎大家關注我的專題:爬蟲修煉之道 上篇 爬蟲修煉之道——編寫一個爬取多頁面的網絡爬蟲主要講解了如何使用python編寫一個可以下載多頁面的爬蟲,如何將相對URL轉為絕對URL,如何限速,...

    1fe1se 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<