Python爬蟲requests判斷請求超時並重新發送請求


 下面是簡單的一個重復請求過程,更高級更簡單的請移步本博客: https://www.cnblogs.com/fanjp666888/p/9796943.html 


在爬蟲的執行當中,總會遇到請求連接超時的情況,下面的代碼塊是在請求超時的情況下,捕捉超時錯誤並連續發送多次請求,只到請求連接成功。


NETWORK_STATUS = True # 判斷狀態變量
try:
    response = requests.post(url, headers=self.headers, data=data, timeout=5)
    if response.status_code == 200:
        return response
except requests.exceptions.Timeout:
    global NETWORK_STATUS
    NETWORK_STATUS = False # 請求超時改變狀態

    if NETWORK_STATUS == False:
        '''請求超時'''
        for i in range(1, 10):
            print '請求超時,第%s次重復請求' % i
            response = requests.post(url, headers=self.headers, data=data, timeout=5)
            if response.status_code == 200:
                return response
return -1  # 當所有請求都失敗,返回  -1  ,此時有極大的可能是網絡問題或IP被封。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM