2013-07-02 21 views
20

È possibile ottenere l'elenco completo follower di un account che ha più di un milione di follower, come McDonald's?Ottieni tutti gli ID follower su Twitter di Tweepy

Io uso Tweepy e seguire il codice:

c = tweepy.Cursor(api.followers_ids, id = 'McDonalds') 
ids = [] 
for page in c.pages(): 
    ids.append(page) 

cerco anche questo:

for id in c.items(): 
    ids.append(id) 

Ma ho sempre avuto la 'tasso limite superato' errore e c'erano solo 5000 ids follower.

risposta

32

Per evitare il limite di velocità, è possibile/deve attendere prima della successiva richiesta di pagina follower. Sembra hacky, ma funziona:

import time 
import tweepy 

auth = tweepy.OAuthHandler(..., ...) 
auth.set_access_token(..., ...) 

api = tweepy.API(auth) 

ids = [] 
for page in tweepy.Cursor(api.followers_ids, screen_name="McDonalds").pages(): 
    ids.extend(page) 
    time.sleep(60) 

print len(ids) 

Spero che questo aiuti.

+1

Funziona. Molte grazie. – user1056824

+1

funziona ma non per un numero elevato di follower. l'ho provato con un account che ha 600.000 follower e ha continuato a ricevere messaggi di errore per quanto riguarda il limite di frequenza superato ... qualsiasi idea su come superare questo problema? – dave

+1

Forse non hai bisogno di dormire per l'ultima pagina. 'se len (pagina) == 5000: time.sleep (60)' – ducu

11

Utilizzare gli argomenti di limitazione della velocità quando si effettua la connessione. L'api si autocontrollerà entro il limite di velocità.

La pausa del sonno non è male, lo uso per simulare un essere umano e per distribuire l'attività su un periodo di tempo con la velocità delle API che limita come controllo finale.

api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True, compression=True) 

aggiungere try/tranne per acquisire e controllare gli errori.

esempio di codice https://github.com/aspiringguru/twitterDataAnalyse/blob/master/sample_rate_limit_w_cursor.py

ho messo le mie chiavi in ​​un file esterno per rendere la gestione più facile.

https://github.com/aspiringguru/twitterDataAnalyse/blob/master/keys.py

+0

Un buon consiglio. Grazie! – petezurich

Problemi correlati