2017-11-06 2 views
1

저는 파이썬과 트위피를 사용하여 트위터 화면 이름 목록을 가져 와서 해당 사용자 ID를 가져 오는 기본 프로그램을 작성하고 있습니다. 나는 rate limiter를 구현했고 프로그램은 작동하지만, 예외 처리에 부딪치게되면 상황이 떨어져 버린다. 15 분을 기다린 후에 X의 스크린 이름이 존재하지 않는다고 알려줍니다. Tweepy는 종종 실행하는 동안 문제로 실행되므로 예외 처리가 필요합니다. 여기서 내가 뭘 잘못하고 있니?Tweepy를 사용하여 화면 이름 목록을 사용자 ID로 변환

f = open('output2.txt', 'w') 
while True: 
    for x in HandleList1: 
    try:  
     u = api.get_user(id = x) 
     print >> f, u.id 
    except tweepy.TweepError: 
     print "We just hit an error, waiting for 15min and then reconnecting..." 
     time.sleep(60*15) 
     u = api.get_user(id = x) 
     print >> f, u.id 
    except StopIteration: 
     print "Stopping the iteration and processing the results!" 
     break 

f.close() 

답변

1

TweepError는 속도 제한 오류 및 쿼리 오류를 비롯한 여러 종류의 오류를 처리합니다. 더 이상 존재하지 않는 사용자 이름을 검색하는 경우 동일한 오류가 발생할 수 있습니다. 오류가 만 부가 오류가있는 경우 는 Get the error code from tweepy exception instance

나는 확인 tweepy.TweepError 캐치 제외하고에 경우-else 문을 추가 : 여기에 실행 오류의 정확한 종류를 인쇄하는 방법

체크 아웃 또는 링크에서 설명한대로 다른 것. 후자의 경우에는 오류 및 특정 쿼리를 인쇄하여 전달할 수 있습니다.

+0

내 api 구현은 "속도 제한 대기 = 참"인 속도 제한기를 설명합니다. 다른 Tweepy 프로그램에서도 잘 작동합니다. 그래도 오류를 인쇄 해보고 그 밖의 경우는 보겠습니다. – OneManRiot

관련 문제