2017-05-16 7 views
0

Ich versuche derzeit, eine Liste von Followern für mein Konto zu erstellen. Letztendlich ist es das Ziel, jedem neuen Follower automatisch zu folgen. Wenn ich mich bei anderen Implementierungen umsehe, würde ich denken, der beste Weg wäre, zunächst eine Liste der aktuellen Follower zu kompilieren, dann gelegentlich eine neue Liste zu kompilieren, einen Listenvergleich durchzuführen und dann Folgebefehle für neue Benutzer-IDs zu initiieren.Tweepy geringe Anzahl von Antworten pro Anfrage

Allerdings hat das Konto, das ich verwalte, ein paar tausend Follower, und zZ bekomme ich etwa 300 Elemente jede Anfrage, bevor der Rate-Begrenzer einsetzt. Andere Dokumente bedeuten, dass dies 5000 pro Anfrage sein könnte. Was mache ich falsch? Wie kann ich die 5.000 erhalten? (Oder gibt es einen alternativen Weg, einfach neuen Anhängern zu folgen?).

auth = tweepy.OAuthHandler(CONSUMER_KEY,CONSUMER_SECRET) 
auth.set_access_token(ACCESS_KEY,ACCESS_SECRET) 
api = tweepy.API(auth,wait_on_rate_limit=True, wait_on_rate_limit_notify=True) 

def limit_handled(cursor): 
    while True: 
     try: 
      yield cursor.next() 
     except tweepy.RateLimitError: 
      now = datetime.now() 
      now_time = now.time() 

      print ('Limit Reached - Resuming at {}'.format(now + timedelta(minutes=20))) 
      sleep(20 * 60) 

def follow_gen(): 
    for user in limit_handled(tweepy.Cursor(api.followers, count=5000).items()): 
      with open('follower_list2.txt','a') as f: 
       f.write('{}-{}\n'.format(user.id, user.screen_name)) 


follow_gen() 

Ich habe auch .pages() statt .items() versucht, aber ich scheine immer noch nur etwa 300 IDs pro Anfrage zu erhalten.

Antwort

0

Dummer Umzug von meinem Teil - löste es.

api.followers wird von Tweepy auf 100 Antworten pro Anruf begrenzt. Verwenden Sie api.followers_ids und es funktioniert wie ein Traum.