Один из подходов состоит в том, чтобы использовать потоковый API (или, возможно, более конкретные пользовательские потоки , если это лучше подходит для вашего приложения), чтобы начать собирать все твиты по мере их появления изцелевых пользователей, не беспокоясь о традиционных ограничениях скорости, а затем используйте REST API для обратной закачки исторических твитов этих пользователей.
Конечно, у вас есть только 350 аутентифицированных запросов в час, но если вы запускаете свой харвестер круглосуточно, это все равно 1 680 000 твитов в день (350 запросов / час * 24 часа / день * 200 твитов / запрос).
Так, например, если вы решили получать 1000 твитов на пользователя в день (5 вызовов API при 200 твиттах на вызов), вы можете использовать до 1680 пользовательских графиков в день (70 графиков в час).Затем на следующий день начните с того места, где вы остановились, собрав следующие 1000 твитов, используя самый старый идентификатор статуса для пользователя в качестве параметра max_id
в вашем запросе statuses / user_timeline .
Потоковый API будет держать вас в курсе всех новых статусов, которые твитит ваш целевой пользователь, а вызовы REST API довольно быстро, примерно через четыре дня, начнут сталкиваться с лимитом выборки Twitter для исторических твитов этих пользователей.После этого вы можете добавить дополнительных пользователей для извлечения информации из конечной точки потоковой передачи, добавив их в список follow
, и вы можете прекратить извлекать исторические твиты для тех пользователей, у которых достигнут максимум, и начинать извлекать твиты новой целевой группы.