2014-04-11 82 views
1

我期待在Python 2.7中使用urlopen时获得更多关于IOError: [Errno socket error] [Errno 10060]的信息。我正在使用我的个人35MB/s Internet连接(无代理)。Python urlopen IOError:[Errno套接字错误] [Errno 10060]

我已经从不同的网站使用Python脚本打开多个网页,并随机获得此错误消息不时:试图打开从不同的网站页面后,出现

webpage = urlopen('http://www.thewebpage.com') 


IOError: [Errno socket 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 

此错误。因此,它似乎并不专门从一个特定的网站打开页面。我也有这个错误使用机械

我的问题是:

  1. 这是错误相关的事实,我很短的时间量内发送多个请求到同一台服务器?超时会减少发生此错误的几率吗?
  2. 有什么办法可以预防它吗?我可以使用条件语句来防止脚本崩溃吗?

我的脚本需要大约一个小时才能运行,并且由于此错误而不得不重新运行它,这相当令人不快。

+1

您是否可以通过其他方式访问有问题的网站? (比如,用'curl'?) – icktoofay

+0

我还没有尝试'curl'。我只是很好奇,对于同一个网址,我会在某一天得到这个错误,而不是在另一天。它大约每2000次出现一次我打开一个URL。我的脚本是为了网络抓取目的而构建的。 – LaGuille

+0

@LaGuille你能否提供确切的网址? – fledgling

回答

3

向同一台服务器发送多个请求可能会导致服务器无法响应,因为您的请求可能看起来像是ddos攻击。您可以使用try-except子句捕获异常,然后重试。

相关问题