国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python-requests請求超時解決方案

這篇具有很好參考價值的文章主要介紹了python-requests請求超時解決方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

????????python程序根據(jù)url從互聯(lián)網(wǎng)上批量獲取數(shù)據(jù)時,設(shè)置HTTP或Socket超時,來防止爬蟲爬取某個頁面時間過長,導(dǎo)致程序卡置不前。

1、socket

全局設(shè)置。

import socket

socket.setdefaulttimeout(1)

t:代表經(jīng)過t秒后,如果還未下載成功,自動跳入下一次操作,此次下載失敗 。

2、添加timeout

使用timeout 參數(shù)可以設(shè)定等待連接的秒數(shù),如果等待超時,Requests會拋出異常。

示例代碼1:

import requests

res = requests.get('https://github.com', timeout=0.01)
print(res)

運(yùn)行結(jié)果:

python requests 超時,爬蟲,python,爬蟲,requests

示例代碼2:

import requests

res = requests.get('https://github.com', timeout=10)
print(res)

運(yùn)行結(jié)果:?

python requests 超時,爬蟲,python,爬蟲,requests

注意:timeout 僅對連接過程有效,與響應(yīng)體的下載無關(guān)。 timeout 并不是整個下載響應(yīng)的時間限制,而是如果服務(wù)器在 timeout 秒內(nèi)沒有應(yīng)答,將會引發(fā)一個異常(更精確地說,是在 timeout 秒內(nèi)沒有從基礎(chǔ)套接字上接收到任何字節(jié)的數(shù)據(jù)時)。

3、HTTPAdapter(max_retries=3)重試

示例代碼:

import time
import requests
from requests.adapters import HTTPAdapter


s = requests.Session()
s.mount('http://', HTTPAdapter(max_retries=3))
s.mount('https://', HTTPAdapter(max_retries=3))

print(time.strftime('%Y-%m-%d %H:%M:%S'))

try:
    res = s.get('https://github.com', timeout=2)
    print(res)
except requests.exceptions.RequestException as e:
    print(e)

print(time.strftime('%Y-%m-%d %H:%M:%S'))

運(yùn)行結(jié)果:

python requests 超時,爬蟲,python,爬蟲,requests

注意:max_retries 為最大重試次數(shù),重試3次,加上最初的一次請求,一共是4次,所以上述代碼運(yùn)行耗時至少是8秒而不是6秒。

4、捕捉異常

示例代碼1:

import requests


def get_html(url, timeout=5):
    i = 0
    while i < 3:
        try:
            html = requests.get(url, timeout=timeout)
            return html.text
        except requests.exceptions.RequestException as e:
            i += 1
            print(e)


res = get_html('https://github.com', timeout=0.1)
print(res)

運(yùn)行結(jié)果:

python requests 超時,爬蟲,python,爬蟲,requests

示例代碼2:? 【試圖提大timeout的值】

import requests


def get_html(url, timeout=5):
    i = 0
    while i < 3:
        try:
            html = requests.get(url, timeout=timeout)
            return html.text
        except requests.exceptions.RequestException as e:
            i += 1
            print(e)


res = get_html('https://github.com', timeout=10)
print(res)

運(yùn)行結(jié)果:

python requests 超時,爬蟲,python,爬蟲,requests文章來源地址http://www.zghlxwxcb.cn/news/detail-573106.html

到了這里,關(guān)于python-requests請求超時解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【uniapp】uni.request請求跨域問題解決方案

    【uniapp】uni.request請求跨域問題解決方案

    例如,運(yùn)行H5頁面,請求一個地址資源,如果不是本站地址,瀏覽器就會報跨域錯誤,這樣訪問受限 例如,項(xiàng)目代碼里是這樣寫的,運(yùn)行H5測試 因?yàn)?https://gitcode.net 不是本站地址,根據(jù)瀏覽器同源策略,是會報跨域錯誤, 打開項(xiàng)目的 manifest.json 文件,以源碼視圖查看,添加以

    2024年02月05日
    瀏覽(98)
  • python pip超時解決方案

    當(dāng)執(zhí)行 pip3 install 命令時出現(xiàn)超時錯誤,通常是由于網(wǎng)絡(luò)連接不穩(wěn)定或網(wǎng)絡(luò)速度較慢引起的。為了解決這個問題,你可以嘗試以下方法: 使用 -i 選項(xiàng)指定 pip 源 可以使用 -i 選項(xiàng)指定 pip 源,以加速包的下載和安裝。你可以選擇一個速度較快的 pip 源,例如阿里云 pip 鏡像或清

    2024年02月07日
    瀏覽(20)
  • Python網(wǎng)頁請求超時如何解決

    Python網(wǎng)頁請求超時如何解決

    在進(jìn)行網(wǎng)絡(luò)爬蟲項(xiàng)目時,我們經(jīng)常需要發(fā)送大量的請求來獲取所需的數(shù)據(jù)。然而,由于網(wǎng)絡(luò)環(huán)境的不穩(wěn)定性,請求可能會因?yàn)槌瑫r而失敗。請求超時可能導(dǎo)致數(shù)據(jù)獲取不完整,影響爬蟲的效率和準(zhǔn)確性。此外,頻繁的請求超時可能會被目標(biāo)網(wǎng)站視為惡意行為,導(dǎo)致IP被封禁或

    2024年02月09日
    瀏覽(25)
  • SpringBoot之Post請求@RequestBody為空拋出Required request body is missing異常的解決方案

    org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing 出現(xiàn)異常的原因:body為空,但是@RequestBody注解默認(rèn)請求體不能為空。 這個純屬粗心大意的問題~ 如果是剛剛開發(fā)的項(xiàng)目,那么建議這樣寫。如果已經(jīng)存在的項(xiàng)目,肯定不能這樣寫,后面會介紹另外一

    2024年02月13日
    瀏覽(36)
  • python爬取 HTTP_2 網(wǎng)站超時問題的解決方案

    python爬取 HTTP_2 網(wǎng)站超時問題的解決方案

    問題背景 在進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)爬取時,使用 Python 程序訪問支持 HTTP/2 協(xié)議的網(wǎng)站時,有時會遇到超時問題。這可能會導(dǎo)致數(shù)據(jù)獲取不完整,影響爬蟲程序的正常運(yùn)行。 問題描述 在實(shí)際操作中,當(dāng)使用 Python 編寫的爬蟲程序訪問支持 HTTP/2 協(xié)議的網(wǎng)站時,可能會遇到超時異常。即

    2024年02月04日
    瀏覽(26)
  • 【python修復(fù)bug】—— HTTP_2 網(wǎng)站超時問題的解決方案

    【python修復(fù)bug】—— HTTP_2 網(wǎng)站超時問題的解決方案

    在進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)爬取時,使用 Python 程序訪問支持 HTTP/2 協(xié)議的網(wǎng)站時,有時會遇到超時問題。這可能會導(dǎo)致數(shù)據(jù)獲取不完整,影響爬蟲程序的正常運(yùn)行。 問題描述 在實(shí)際操作中,當(dāng)使用 Python 編寫的爬蟲程序訪問支持 HTTP/2 協(xié)議的網(wǎng)站時,可能會遇到超時異常。即使嘗試強(qiáng)制

    2024年01月18日
    瀏覽(25)
  • python requests設(shè)置連接超時時間

    這段代碼的主要作用是使用requests庫發(fā)出一個GET請求,并設(shè)置連接超時時間為5秒鐘,讀取超時時間為10秒鐘。 如果請求超時,就會拋出requests.exceptions.Timeout異常,并在\\\"except\\\"語句塊中進(jìn)行處理。如果發(fā)生其他類型的錯誤,如連接錯誤,就會拋出requests.exceptions.ConnectionError異常,

    2024年02月13日
    瀏覽(47)
  • python requests爬蟲返回403錯誤?加了所有特征的請求頭+代理也解決不了的問題處理

    【疑惑】:使用python的requests庫發(fā)起get或post請求返回403代碼錯誤,使用postman發(fā)起請求發(fā)現(xiàn)狀態(tài)碼200竟然成功了。這是什么原因?首先排除ip問題,ip有問題的話postman也訪問不了。難道是headers出現(xiàn)了問題嗎,通過對比發(fā)現(xiàn)也不是headers的問題。那就奇了怪了? 【解疑】:其實(shí)遇

    2024年02月15日
    瀏覽(28)
  • axios請求超時,設(shè)置重新請求的完美解決方法

    axios請求超時,設(shè)置重新請求的完美解決方法

    自從使用Vue2之后,就使用官方推薦的axios的插件來調(diào)用API,在使用過程中,如果服務(wù)器或者網(wǎng)絡(luò)不穩(wěn)定掉包了, 你們該如何處理呢? 下面我給你們分享一下我的經(jīng)歷。 具體原因 最近公司在做一個項(xiàng)目, 服務(wù)端數(shù)據(jù)接口用的是Php輸出的API, 有時候在調(diào)用的過程中會失敗, 在谷歌瀏

    2024年02月20日
    瀏覽(20)
  • 調(diào)用OpenAi出現(xiàn)連接超時的解決方案

    在向https://api.openai.com/v1/completions發(fā)起http請求之前,使用java.net包下面的Proxy進(jìn)行代理。 代碼如下: connection.setRequestProperty(\\\"Authorization\\\", \\\"Bearer \\\" + openAiApiKey); connection.setRequestProperty(\\\"Content-Type\\\", \\\"application/json\\\"); 我在使用的時候忘記設(shè)置了Content-Type,結(jié)果一直報錯,后面反復(fù)觀看

    2024年02月11日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包