Я пытаюсь заполучить твиты за 2 года для ряда пользователей Твиттера. Я использую библиотеку searchtweets в Python и версию API для песочницы.
Я использую их метод потока результатов:
import searchtweets
rule = gen_rule_payload("from:BBCNews", from_date="2017-01-01",
to_date="2017-01-01", results_per_call=100)
rs = ResultStream(rule_payload=create_rule(i),
max_results=18000,
max_pages=1,
**premium_search_args) # these are credentials, ommitted for security
tweets = list(rs.stream())
Однако я получаю это возвращенное значение:
HTTP Error code: 429: Request exceeds account’s current package request limits. Please upgrade your package and retry or contact Twitter about enterprise access.
Я пересмотрел ограничения скорости (https://developer.twitter.com/en/docs/basics/rate-limiting) и подумал, что правильно сделал вывод, что ограничение скорости составляет 180 на 15 минут для такого рода запросов, и поэтому ограничив max_results значением 18 000 будут препятствовать этому одному запросу на BB C новостные твиты, превышающие ограничение скорости для 15-минутного окна. В каждом запросе возвращается 100 результатов, поэтому 18 000 результатов будут 100 результатами * 180 запросов.
Это не работает, так что я думаю, что я неправильно понял. Если бы кто-то мог дать какое-то дальнейшее понимание, это было бы здорово.