2015-11-24 3 views
3

Я хочу, чтобы напечатать все последователей или после в твиттере:Захват всех последователей в tweepy

while True: 
    try: 
     for user in tweepy.Cursor(api.followers,screen_name='TestUser').items(): 
      print user.screen_name 
     break 
    except tweepy.TweepError: 
     time.sleep(60*20) 

Когда я запускаю эту часть он пытается захватить следующее. количество захваченных пользователей - 200 в моем потоке. но он не продолжает продолжать после 20 минут сна ... он пытается, но он снова захватывает пользователей.

Как это исправить?

ответ

3

Вы начинаете все заново в каждой итерации цикла, когда вы создаете новый итератор каждый раз в строке for user in....

Попробуйте с генератором:

def handle_errors(cursor): 
    while True: 
     try: 
      yield cursor.next() 
     except tweepy.TweepError: 
      time.sleep(20 * 60) 

for user in handle_errors(tweepy.Cursor(api.followers,screen_name='TestUser').items()): 
    print user.screen_name 
+0

Спасибо .. Я пытаюсь - +1 – MLSC

+0

я исправил исключение в приведенном выше коде. –

Смежные вопросы