【发布时间】:2012-05-24 18:08:21
【问题描述】:
我正在运行一个爬虫,它在 MAC 和 Ubuntu 系统中运行良好。 当我在 Windows 中运行它时,它会导致以下堆栈跟踪:
File "build\bdist.win32\egg\mechanize\_mechanize.py", line 203, in open
return self._mech_open(url, data, timeout=timeout)
File "build\bdist.win32\egg\mechanize\_mechanize.py", line 230, in _mech_open
response = UserAgentBase.open(self, request, data)
File "build\bdist.win32\egg\mechanize\_opener.py", line 193, in open
response = urlopen(self, req, data)
File "build\bdist.win32\egg\mechanize\_urllib2_fork.py", line 344, in _open
'_open', req)
File "build\bdist.win32\egg\mechanize\_urllib2_fork.py", line 332, in _call_chain
result = func(*args)
File "build\bdist.win32\egg\mechanize\_urllib2_fork.py", line 1170, in https_open
return self.do_open(conn_factory, req)
File "build\bdist.win32\egg\mechanize\_urllib2_fork.py", line 1118, in do_open
raise URLError(err)
URLError: <urlopen error [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>
【问题讨论】:
-
是一个特定的 URL 导致它抛出这个错误吗?
URLError看起来像超时错误。如果结果不是致命的,请使用try..except处理此错误。 -
将发出请求的代码部分放在这里。
-
您是否在所有系统上使用相同的 python 和 mechanize 版本?
-
如果您发布一个完整的代码 sn-p 可以持续重现问题,您可能会更幸运。我和其他评论者在一起,因为我猜在 Mechanize 之外还有其他一些狡猾的事情发生。诚然,Windows fork 与 *nix 系统不同,也许这是其中的一部分,但几乎可以肯定这不是整个难题。
标签: python mechanize web-crawler python-requests