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

Posted python_worm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫requests判断请求超时并重新发送请求相关的知识,希望对你有一定的参考价值。

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


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判断请求超时并重新发送请求的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫多次请求超时的几种重试方法

Python爬虫编程思想(24):在requests中使用代理和处理超时

爬虫请求模块

Python爬虫:Requests库

python-爬虫-requests

Python爬虫