Как разрешить ограничение скорости twitter API?

Использование pip3 install twitter для небольшой программы Python для получения всех твитов пользователя за весь год.

utl = t.statuses.user_timeline(count = n, screen_name = name)

Получил ошибку об ограничениях скорости, как это показывает:

подробности: {'ошибки': [{'код': 88, 'сообщение': 'Превышено ограничение скорости'}]}

После проверки документов API https://dev.twitter.com/rest/public/rate-limiting, но не знаю, как это исправить.

Надеюсь, кто-нибудь может помочь. Спасибо!


person S1U    schedule 16.01.2016    source источник


Ответы (1)


страница с ограничениями скорости совершенно ясна, вы ограничены совершение 180 звонков за 15 минут.

Это дает вам несколько вариантов.

  • Дросселируйте свой код. Поместите туда sleep, чтобы гарантировать, что он никогда не превысит лимит.
  • Используйте параметры API, чтобы получить максимальный объем данных за минимальное количество вызовов API.

документация для statuses/user_timeline говорит:

Этот метод может вернуть только до 3200 самых последних твитов пользователя.

а также

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

Таким образом, вы можете использовать count=200 для запроса всех 3200 статусов всего за 16 вызовов API.

person Terence Eden    schedule 16.01.2016
comment
Также на странице ограничения скорости, если вы используете аутентификацию приложения, ваш лимит составляет 300 вызовов в каждом 15-минутном окне — полезно, если вы хотите ускорить этот процесс. - person Jonas; 16.01.2016
comment
Без вашего упоминания я вряд ли мог бы заметить этот предел 3200. Есть ли обходной путь за его пределами? Мое намерение состоит в том, чтобы получить чьи-то все твиты, более 10 тысяч, за один год. Теперь я использую 200 получаемых твитов каждый раз, но, как вы упомянули, можно было получить только 3245 твитов. - person S1U; 19.01.2016