Как найти POST дружбу / создать лимит с твипи в python 3? - PullRequest
0 голосов
/ 18 января 2020

Я использую tweepy, чтобы следить за пользователями в твиттере, но я достигаю 400 дневного лимита, я хочу реализовать проверки, чтобы этого не произошло, я использую следующий код:

limits = api.rate_limit_status()

Это ограничивает некоторые ограничения, но, похоже, не включает какие-либо ограничения конечной точки после POST, только конечные точки GET. У меня вопрос, как я могу получить доступ к ограничениям конечной точки POST, используя tweepy?

Спасибо

1 Ответ

1 голос
/ 18 января 2020

Похоже, что API, на который ссылается api.rate_limit_status () , не включает конечные точки POST. Я бы посоветовал обернуть ваши вызовы API в уловку попытки, как показано ниже

# In this example, the handler is time.sleep(15 * 60),
# but you can of course handle it in any way you want.

def limit_handled(cursor):
    while True:
        try:
            yield cursor.next()
        except tweepy.RateLimitError:
            time.sleep(15 * 60)

for follower in limit_handled(tweepy.Cursor(api.followers).items()):
    if follower.friends_count < 300:
        print(follower.screen_name)

Другой вариант - вручную отслеживать ваши вызовы API с ограничениями, описанными здесь . Для этого вы можете использовать другой модуль python с именем ratelimit

pip install ratelimit
# example.py:
from ratelimit import limits

import requests

THREE_HOURS = 3*60*60
FRIENDSHIP_POST_API_LIMIT = 300

@limits(calls=FRIENDSHIP_POST_API_LIMIT, period=THREE_HOURS)
def create_friendship(user_id):
    return api.create_friendship(user_id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...