2016-09-28 12 views
0

Ниже приведен мой рабочий код для получения подписчиков Twitter для определенных учетных записей (в этом случае @hudsonci).Tweepy - Получить всех подписчиков для учетной записи - Проблемы с лимитом ставок

Моя проблема - время, необходимое для того, чтобы привлечь всех этих последователей. У этой учетной записи, в частности, около 1000 подписчиков ... Я могу получить только 300 одновременно с ограничениями ограничения скорости. Таким образом, он принимает> час, чтобы получить всех последователей этой учетной записи. Я могу себе представить, что это станет огромной болью в заднице для крупных счетов.

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

всякая помощь приветствуется.

#!/usr/bin/env python 
# encoding: utf-8 

import tweepy 
import time 

#Twitter API credentials 
consumer_key = "mine" 
consumer_secret = "mine" 
access_key = "mine" 
access_secret = "mine" 


#authorize twitter, initialize tweepy 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token(access_key, access_secret) 
api = tweepy.API(auth) 

def handle_errors(cursor): 
    while True: 
     try: 
      yield cursor.next() 
     except tweepy.TweepError: 
      time.sleep(20 * 60) 

for user in handle_errors(tweepy.Cursor(api.followers,screen_name='hudsonci').items()): 
    print user.screen_name 

ответ

1

По the Twitter documentation for followers вам нужно использовать параметр count.

Указывает количество попыток поиска идентификаторов, максимум до 5000 на отдельный запрос.

Таким образом, добавление count=5000 должно помочь вам.

+0

Изменен скрипт для включения 'для пользователя в handle_errors (tweepy.Cursor (api.followers, screen_name = 'hudsonci', считай = 5000) .Items()):' И я до сих пор только получаю 300 последователей одновременно. Является ли счет не в том месте? Я чувствую, что мне не хватает чего-то очень простого здесь. – hansolo

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

  • Нет связанных вопросов^_^