在我們用python的requests模組進行爬蟲時,乙個簡單高效的模組就是requests模組,利用get()或者post()函式,傳送請求。
————————————————
但是在真正的實際使用過程中,我們可能會遇到網路的各種變化,可能會導致請求過程發生各種未知的錯誤導致程式中斷,這就使我們的程式不能很好的去處理錯誤。所以為了使我們的程式在請求時遇到錯誤,可以捕獲這種錯誤,就要用到try…except方法,以及了解requests可能發生的各種錯誤。
伺服器在指定時間內沒有應答,丟擲requests.exceptions.connecttimeout
若分別指定連線和讀取的超時時間,伺服器在指定時間沒有應答,丟擲requests.exceptions.connecttimeout
**- timeout=([連線超時時間], [讀取超時時間])
- 連線:客戶端連線伺服器並並傳送http請求伺服器
- 讀取:客戶端等待伺服器傳送第乙個位元組之前的時間**
丟擲requests.exceptions.connectionerror
**伺服器拒絕建立連線,埠拒絕連線或未開放,丟擲requests.exceptions.proxyerror
**伺服器沒有響應requests.exceptions.connecttimeout
說明與**建立連線成功,**也傳送請求到目標站點,但是**讀取目標站點資源超時。即使**訪問很快,如果**伺服器訪問的目標站點超時,這個鍋還是**伺服器背 。假定**可用,timeout就是向**伺服器的連線和讀取過程的超時時間,不用關心**伺服器是否連線和讀取成功
可能是斷網導致,丟擲requests.exceptions.connectionerror
你可以告訴 requests 在經過以 timeout
引數設定的秒數時間之後停止等待響應。基本上所有的生產**都應該使用這一引數。如果不使用,你的程式可能會永遠失去響應:
遇到網路問題(如:dns 查詢失敗、拒絕連線等)時,requests 會丟擲乙個requests.exceptions.connectionerror
異常。如果 http 請求返回了不成功的狀態碼, response.raise_for_status() 會丟擲乙個
httperror
異常。若請求超時,則丟擲乙個
timeout
異常。若請求超過了設定的最大重定向次數,則會丟擲乙個
toomanyredirects
異常。所有requests顯式丟擲的異常都繼承自
requests.exceptions.requestexception
python中的requests模組
requests是用python實現的第三方http庫。post介面 結果 還有乙個簡單的示例 更新 傳送請求與傳遞引數 帶引數的get請求 impor requests r requests.get 最基本的get請求 print r.status code 獲取返回狀態碼 print r.url...
python中requests的安裝
本文主要說明了在自帶有pip的python中如何安裝requests。pip在大部分2.7或者3以上的python都已經自帶了。那麼如何判斷是否自帶有pip 在命令列 win r 中輸入 python m pip version 出現如下圖的提示,則表示自帶有pip 準備好pip之後,如果pytho...
python中requests小技巧
關於 python requests 在使用中,總結了一些小技巧把,記錄下。1 保持請求之間的cookies,我們可以這樣做。2 請求時,會加上headers,一般我們會寫成這樣 唯一不便的是之後的 每次都需要這麼寫,顯得臃腫,所以我們可以這樣 3 預設requests請求失敗後不會重試,但是我們跑...