我正在嘗試這個簡單的代碼,但該死的休息不起作用...什麼是錯的?如何擺脫一段時間的嘗試/除了一段時間? [Python]
while True:
for proxy in proxylist:
try:
h = urllib.urlopen(website, proxies = {'http': proxy}).readlines()
print 'worked %s' % proxy
break
except:
print 'error %s' % proxy
print 'done'
它應該離開,而當連接工作,回去試試其他代理,如果它沒有
好吧,這裏是我在做什麼
我試圖檢查一個網站,如果它改變了,它必須跳出來繼續到腳本的其餘部分,但是當代理不連接時,我從變量中得到錯誤,因爲它是空的,所以我希望這是爲了工作作爲循環來嘗試一個代理,如果它工作,繼續腳本,腳本的結束,回去嘗試下一個代理,如果下一個不工作,它會回到該開始嘗試第三代理,等等....
我想這樣
while True:
for proxy in proxylist:
try:
h = urllib.urlopen(website, proxies = {'http': proxy})
except:
print 'error'
check_content = h.readlines()
h.close()
if check_before != '' and check_before != check_content:
break
check_before = check_content
print 'everything the same'
print 'changed'
你知道'break'也打破了for循環。所以你的'break'不會從while循環中跳出來,它會跳出直接循環。 – jcao219 2010-07-07 21:42:51
你絕對不應該使用裸體'excepts'!抓住一個特定的錯誤總是更好! – jathanism 2010-07-07 21:50:19