2014-04-11 91 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子句捕獲異常,然後重試。

相關問題