2014-02-24 44 views
0

我打開了很多與網站的連接。我不知道爲什麼,但有時連接超時?當超時時,在Python中重試打開網站

subpage=html.fromstring(urllib2.urlopen(subpage_url,timeout=5).read()) 

我現在使用的urllib2庫,因爲你可以設置超時時間,以前我用的urllib,那裏有沒有超時的時間來進行設置,以便當連接失敗,你必須等待很長時間。

正如我之前所說,我不知道爲什麼有時連接失敗,也許這與我試圖從大學無線連接做到這一點有關。這就是爲什麼我想在超時時重試建立連接的原因。

+1

請記住,該網站可能並非您的無線連接,而是因爲您的「大量連接」是拒絕服務攻擊,如果您繼續,它們可能會完全阻止您的IP。你有沒有讀過他們的robots.txt? – geoffspear

+0

我不知道robots.txt是什麼。我現在查了一下,但我不知道該怎麼做。有問題的網站是http://www.oddsportal.com/。 –

回答

0
from time import time 
data = '' 
started = time() 
while data == '' and time() - started < 30: 
    data=html.fromstring(urllib2.urlopen(subpage_url,timeout=5).read()) 
if len(data) <= 0: 
    print('Failed to retrieve your page 6 times, check your internet connection!') 

你可能會得到一個異常這裏,辦理用try塊,你應該是金色的。