2015-09-01 1 views
1

Я пытаюсь получить друг пользователя и добавить их в список данного условия:Tweepy Перебор tweepy.Cursor (api.friends) .items()

for friend in tweepy.Cursor(api.friends).items(): 
    if friend not in visited: 
     screen_names.append(friend.screen_name) 
     visited.append(friend.screen_name) 

Однако мне получить код ошибка:

raise RateLimitError(error_msg, resp) tweepy.error.RateLimitError: [{u'message': u'Rate limit exceeded', u'code': 88}]

Не могли бы вы дать мне намек на решение этой проблемы? Большое спасибо

ответ

3

По умолчанию friends класс API класс возвращает только список из 20 пользователей за звонок, а по API Twitter вы ограничены 15 звонками только за окно (15 минут). Таким образом, вы можете получать только 20 x 15 = 300 друзей в течение 15 минут.

Cursor in tweepy - еще один способ получить результаты без управления значением cursor при каждом вызове API Twitter.

Вы можете увеличить количество результатов, получаемых за звонок, включив дополнительный параметр count.

tweepy.Cursor(api.friends, count = 200) 

Максимальное значение count может быть 200. Если у Вас есть друзья более 200 х 15 = 3000, чем вам нужно использовать обычный api.friends метод, с сохранением cursor значение и использование sleep для распределения времени вызова. Более подробную информацию см. На странице GET friends/list.

0

По Twitter's API documentation, вы достигли своего предела запроса. Похоже, что ограничения скорости действуют каждые 15 минут запросов, поэтому повторите попытку через 30 минут или используйте другой IP-адрес, чтобы попасть в API. Если вы прокрутите вниз информацию о Твиттере, вы увидите код 88.

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

  • Нет связанных вопросов^_^