Jes*_*hen 5 python dns multithreading urllib2 multiprocessing
我有一个很大的刮擦工作要做 - 由于大量的网络延迟,大部分脚本的时间都花在阻塞上.我正在尝试多线程化脚本,以便我可以同时发出多个请求,但是大约10%的线程死于以下错误
URLError: <urlopen error [Errno -2] Name or service not known>
Run Code Online (Sandbox Code Playgroud)
其他90%成功完成.我正在请求来自同一域的多个页面,因此似乎可能存在一些DNS问题.我一次发出25个请求(25个线程).如果我一次将自己限制为5个请求,一切正常,但是一旦我得到大约10个请求,我有时会开始看到这个错误.
我已经读过在urllib2 中失败的重复主机查找,它描述了我所遇到的相同问题,并遵循其中的建议,但无济于事.
我也尝试使用多处理模块而不是多线程,我得到了相同的行为 - 大约10%的进程死于同样的错误 - 这让我相信这不是urllib2的问题,而是其他问题.
有人可以解释发生了什么,并建议如何解决?
UPDATE
如果我手动将网站的IP地址编码到我的脚本中,一切都运行正常,因此在DNS查找过程中会发生此错误.
归档时间: |
|
查看次数: |
1630 次 |
最近记录: |