У меня возникают ошибки 404 и 401 при запросе API Twitter, и мой скрипт, чтобы заставить друзей ломаться из-за того, что они не обрабатывают исключения. Исследовали и пытались добавить следующее условие try/except, но исключения не регистрируются, а цикл for останавливается.Python Twitter Tools - обработка ошибок API twitter 404 и 401
first = 0
last = 15
while last < len(list)+16: #while last group of 15 items is lower than number of items in list#
for item in list[first:last]: #parses twitter IDs in the list by groups of 15#
try:
results = twitter.friends.ids(skip_status="true",include_user_entities="false",count ="5000",user_id=item) #API query#
results = str(results)
text_file = open("output.txt", "a") #creates empty or opens current txt output/change path to desired output#
text_file.write(str(item) + "," + results + "\n") #adds twitter ID, resulting friends list, and a line skip to the txt output#
text_file.close()
break
except ValueError:
text_file = open("output.txt", "a") #creates empty or opens current txt output/change path to desired output#
text_file.write(str(item) + "," + "ERROR" + "\n") #adds twitter ID, resulting friends list, and a line skip to the txt output#
text_file.close()
print "Succesfully processed users " + str(list[first:last]) #returns recently processed group of 15 users#
first = first + 15 #updates list navigation to move on to next group of 15#
last = last + 15
time.sleep(1000) #suspends activities for 1000 seconds to respect rate limit#
также заглянул в здание, если заявления на основе заголовков ответа HTTP, но я не понимаю, как плагин в Python Twitter Tools «response.headers.get („Н“)», чтобы сделать это. Каким будет лучший способ обрабатывать и записывать эти исключения и заставить скрипт продолжать извлекать данные?
Вы не хотите «ломать», где вы делаете! –
Спасибо, удалили разрыв и «ValueError», теперь он работает правильно, пока не достигнет ошибки. Затем эта ошибка записывается правильно, но цикл for останавливается, а не продолжается до следующего. Я читаю исключения. Я должен добавить инструкцию else для продолжения цикла? – dlsantos
Попробуйте добавить 'continue' после последней строки обработчика исключений. –