0

while - try - exceptループでTweepError例外をキャッチしようとしましたが、失敗しました。次のコードは、TweepError/RateLimitErrorが発生したときに実行を停止し続けます。TweepError例外をキャッチできません

import tweepy 
    import time 
    name_set = ('name1','name2','name3') 
    result = [] 
    for screen_name in name_set: 
     while True: 
      profile = api.get_user(screen_name = screen_name) 
      try: 
       print('collecting user %s'%screen_name) 
       result.append(profile) 
       break 
      except tweepy.RateLimitError: 
       print('sleep 15 minutes') 
       sleep(900) 
       continue 
      except tweepy.TweepError as e: 
       print(e) 
       print('Account %s'%screen_name) 
       break 
      else: 
       print('Account %s'%screen_name) 
       break 

TweepError

TweepError: [{'message': 'User not found.', 'code': 50}]

答えて

0

あなたは例外をキャッチするtryブロック内のAPI呼び出し文を置く必要があります。

try: 
    profile = api.get_user(screen_name = screen_name) 
    print('collecting user %s'%screen_name) 
    ... 
+0

ありがとうございました!例外は正常にキャッチされます。 –

+0

ようこそ。コーディングをお楽しみください! – shuuji3

関連する問題