Извличам жива емисия от уеб страница в json. Страниците се актуализират всяка минута, за да извличам данните всяка минута. Но сървърът на тази уеб страница понякога не е много стабилен и моят код спира да работи. Искам да го напиша по такъв начин, че моят код непрекъснато ще изисква данни, докато не го получи. Някой е написал нещо подобно преди:
try:
f=urllib2.open(blablabla...)
except urllib2.HTTPError, detail:
if detail.error == 500:
time.sleep(1)
continue
else:
raise
Но кодът ми все още спира да работи с тази грешка: urllib2.URLError: urlopen error [Errno 8] nodename или servname предоставени или неизвестни
Отговори:
1 за отговор № 1urllib2.HTTPError
е подтип на urllib2.URLError
, Така че, когато open
повдига един URLError
, всъщност не го улавяте, когато търсите HTTPError
с. Ако искате да хванете URLError
също, добавете още един except
клауза, с която да се справя.