我写了一个使用请求模块的网络抓取工具。我打开一个会话并使用此会话发送后续请求。它有两个阶段。Python会话10054连接中止错误
1)逐页逐页收集数组中的id。 2)使用对同一主机上的ajax服务器的请求,获取阵列中每个id的详细信息。
刮刀在我的Linux机器上正常工作。然而,当我在Windows 10上运行bot时,阶段1完成得很好,但是在阶段2中的一些请求之后,python抛出这个异常
文件“c:\ python27 \ lib \ site-packages \ requests \ adapters。 py“,第453行,发送 raise ConnectionError(err,request = request) ConnectionError :('Connection aborted。',error(10054,'Varolan bir ba \ xf0lant \ xfd uzaktaki bir ana bilgisayar taraf \ xfdndan zorla kapat \ xfdld'))
这两个操作系统之间有什么不同?我怎样才能克服这个问题?
使用重试模块修改了我的请求代码,如下所示没有任何积极影响。现在脚本不会抛出异常,而只是挂起无所事事。
@retry(wait_exponential_multiplier=1000, wait_exponential_max=10000, stop_max_attempt_number=7)
def doReq(self, url):
time.sleep(0.5)
response = self.session.get(url, headers=self.headers)
return response