requests.exceptions.ConnectionError: (‘Connection aborted.‘, ConnectionResetError(10054, ‘远程主机强迫关闭了一

requests.exceptions.SSLError: HTTPSConnectionPool(host=‘‘, port=443): Max retries exceeded with url:  
(Caused by SSLError(SSLError("bad handshake: SysCallError(-1, ‘Unexpected EOF‘)",),))

上面是python3.6中的错误,解决方法一致,都是请求频繁而造成的。

这里提供一种解决方法,可能适用有可能不适用,仅供参考。

 while True:  # 循环
            try:
                # r = eval(expression)
                content = requests.get(url,headers = heads, timeout = (3,20)).content
            except (requests.exceptions.SSLError, requests.exceptions.ConnectionError) as e:
                if 'bad handshake' in str(e) or '10054' in str(e):  # 上述2种异常
                    continue  # 继续发请求
                else:
                    raise Exception(e)  # 其他异常,抛出来
            break  # 无异常就跳出循环

其中try里面是你要发送的请求代码,根据自己的情况来定。

你可能感兴趣的:(爬虫,python)