2017-01-04 5 views
-1

Мой проект - загрузить огромное количество ID-ов из твиттера. Также известно, что средний пользователь имеет небольшое количество последователей (100-200). Я использую для этого потокового пакета Twython, а вот главная часть моей программы:Ускоренный твиттер ID stream

while(next_cursor): 

    follower_id=twitter.get_followers_ids(user_id=ids,cursor=next_cursor) 
    time.sleep(60) 
    next_cursor=follower_id['next_cursor'] 

Это действительно просто треск, а также работает, но очень медленно, для большого числа ID-х лет, поскольку функция tw.get_follower_id() - предел скорости передачи составляет 5000 id/minute, поэтому функция времени ожидания находится в коде.

Мой вопрос: есть ли возможности ускорить этот код?

Возможно, чтобы программа не останавливалась после каждого запроса, только когда это действительно необходимо. Может ли кто-нибудь помочь в этом?

ответ

0

Twitter предоставляет информацию о предельных ставках в заголовках, отправленных с каждым ответом API. Итак, вы можете проверить это и, следовательно, позвонить с максимальной допустимой скоростью. Вы также можете запросить свой тарифный рейтинг из Twitter с помощью специального API-интерфейса ограничения скорости, и он не уменьшает ограничение скорости для проверки. Я сам не использую Twython, поэтому не могу советовать, как это сделать в Twython.

Это не принесет вам много дополнительного - может быть, несколько процентов.

В качестве альтернативы, иногда не повредит лимит скорости - вы получите сообщение об ошибке. Пока это не слишком часто, Twitter не будет возражать.

Базовая скоростная крышка скорости - никоим образом не круглый. Возможно, у Gnip есть платный сервис, который позволит вам быстрее загружать эти данные?

+0

спасибо! – John

Смежные вопросы