我正在尝试在网页上填写表单并使用RoboBrowser库获取一些结果。
我有一个带有〜200k引用的文件可能无法给出足够的anwser(存储在data [1]中的街道名称可能与表单中所需的街道名称不同,导致另一个页面打开)。 我的代码运行并打印出我想要获取或打印的信息" NS"如果反应不符合预期(主要是由于街道名称错误)。
然而,经过一段随机时间(大约在1300个周期之后,然后是大约100-300或更少),我得到:
constructor
logWidth
width
height
Polygon
我尝试在这里和那里添加time.sleep(0.01),认为我的页面超载,但它没有帮助。 有没有人有想法?
我的代码:
Traceback (most recent call last):
File "web_scraper.py", line 49, in <module>
result = rechCadastre(data_point,result)
File "web_scraper.py", line 16, in rechCadastre
browser.submit_form(form)
File "/usr/local/lib/python2.7/dist-packages/robobrowser/browser.py", line 343, in submit_form
response = self.session.request(method, url, **send_args)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 497, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: ("bad handshake: SysCallError(104, 'ECONNRESET')",)
我正在使用Ubuntu 16.04.2 LTS和Python2.7
谢谢!
答案 0 :(得分:1)
我设法通过将每次调用的等待时间time.sleep更改为1来避免错误。 该程序有时会再次出现错误,但实际上很少(大约在20000-30000次请求中)。
感谢您的支持!