2014-02-24 45 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块,你应该是金色的。