码迷,mamicode.com
首页 > 编程语言 > 详细

Python爬虫requests判断请求超时并重新发送请求

时间:2017-12-11 13:55:51      阅读:10404      评论:0      收藏:0      [点我收藏+]

标签:lob   oba   重复   连续   sts   代码   col   timeout   code   

在爬虫的执行当中,总会遇到请求连接超时的情况,下面的代码块是在请求超时的情况下,捕捉超时错误并连续发送多次请求,只到请求连接成功。


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被封。

Python爬虫requests判断请求超时并重新发送请求

标签:lob   oba   重复   连续   sts   代码   col   timeout   code   

原文地址:http://www.cnblogs.com/fanjp666888/p/8022282.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!