python爬虫网络请求超时是什么意思_爬虫请求超时设置
在本機網絡狀況不好或者服務器網絡響應延遲甚至無響應時,我們可能會等待很久才能收到響應,甚至到最后收不到響應而報錯。為了防止服務器不能及時響應,應該設置一個超時時間,即超過了這個時間還沒有得到響應,那就報錯。這需要用到 timeout 參數。這個時間的計算是發出請求到服務器返回響應的時間。示例如下:
import requests
r = requests.get('https://httpbin.org/get', timeout=1)
print(r.status_code)
運行結果:
通過這樣的方式,我們可以將超時時間設置為 1 秒,如果 1 秒內沒有響應,那就拋出異常。實際上,請求分為兩個階段,即連接(connect)和讀取(read)。上面設置的 timeout 將用作連接和讀取這二者的 timeout 總和。
如果要分別指定,就可以傳入一個元組:
import requests
# 分別設置連接以及讀取階段的最大時間
r = requests.get('https://httpbin.org/get', timeout=(5, 30))
print(r.status_code)
如果想永久等待,可以直接將 timeout 設置為 None,或者不設置直接留空,因為默認是 None。這樣的話,如果服務器還在運行,但是響應特別慢,那就慢慢等吧,它永遠不會返回超時錯誤的。其用法如下:
r = requests.get('https://httpbin.org/get', timeout=None)
或者直接不加參數:
r = requests.get('https://httpbin.org/get')
總結
以上是生活随笔為你收集整理的python爬虫网络请求超时是什么意思_爬虫请求超时设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue项目获取下拉框选中id_vue t
- 下一篇: python数据处理不用编程_用Pyth