Как установить ограничение скорости при использовании твитов для сбора ретвитеров, формирующих набор твитов с идентификаторами? - PullRequest
0 голосов
/ 04 мая 2020

У меня длинный список идентификаторов твитов (точнее 3200). Я пытаюсь собрать все ретвиты для всех твитов, чтобы построить сетевой график. Твиттер ограничивает количество вызовов API REST для этого до 75 за 15 минут. Я новичок в этом, значит ли это, что я имею в виду 75 сущностей или я могу получить ретвиты для 75 твитов? from Twitter Developer docs

В любом случае, как мне настроить мой код, чтобы он не превышал ограничение скорости и все же go через весь список 3200 идентификаторов? Это то, что я имею до сих пор, и это не сработало.

auth = tweepy.OAuthHandler('a', 'b')
auth.set_access_token('c', 'd')
api = tweepy.API(auth)

for attempt in range(75):
    for x in tweet_id_list:
        retweeters = []
        for status in api.retweets(x):
            retweeters.append(status.user.id)
    time.sleep(60 * 15)

1 Ответ

1 голос
/ 07 мая 2020

Используйте встроенные функции уведомления:

auth = tweepy.OAuthHandler('a', 'b')
auth.set_access_token('c', 'd')
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
...