2014-11-07 5 views
9

Mit Tweepy Ich bin in der Lage, alle meine Freunde mit einem Cursor zurückgeben. Ist es möglich, einen anderen Benutzer anzugeben und alle seine Freunde zu bekommen?Erhalten Sie alle Freunde eines bestimmten Benutzers auf Twitter mit Tweepy

user = api.get_user('myTwitter') 
print "Retreiving friends for", user.screen_name 
for friend in tweepy.Cursor(api.friends).items(): 
print "\n", friend.screen_name 

, die eine Liste aller meiner Freunde druckt, aber wenn ich die erste Zeile auf einen anderen Twitter-Nutzer ändern sie meine Freunde immer noch zurück. Wie kann ich mit Tweepy Freunde für einen bestimmten Benutzer gewinnen?

#first line is changed to 
user = api.get_user('otherUsername') #still returns my friends 

Zusätzlich user.screen_name beim Drucken WILL Rückkehr otherUsername

Die Frage Get All Follower IDs in Twitter by Tweepy tut im Wesentlichen, was ich suche jedoch gibt es nur eine Anzahl von IDs. Wenn ich die len() Funktion entferne, werde ich Iterate durch eine Liste von Benutzer-IDs, aber ist es möglich, Bildschirmnamen @twitter, @stackoverflow, @etc..... zu erhalten?

+0

möglich Duplikat [erhalten alle Follower-IDs in Twitter von Tweepy] (http://stackoverflow.com/questions/17431807/get-all-follower-ids-in-twitter-by-tweepy). Die Variable "ids" in der akzeptierten Antwort enthält alle IDs, der Beantworter gibt seine Länge aus, aber Sie können damit machen, was Sie wollen. – Luigi

+0

Ich glaube nicht, dass dies eine doppelte Frage ist, ich suche nach den Twitter-Handles oder 'screen_name', nicht IDs, was in der Frage zurückgegeben wird Ich habe es in die Frage selbst als Referenz aufgenommen, da mein Code im Wesentlichen das ist selbe – user2497792

+0

Danke für die klärende Bearbeitung. – Luigi

Antwort

15

können Sie verwenden, um die ids Variable aus den answer Sie in der anderen Antwort verwiesen, die die ID des Anhängers einer bestimmte Person zu bekommen, und erweitern sie den Bildschirm Namen aller der Anhänger api.lookup_users mit Tweepy Methode zu erhalten:

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) 

screen_names = [user.screen_name for user in api.lookup_users(user_ids=ids)] 
+3

Diese Lösung hat getan, wonach ich gesucht habe. – user2497792

+0

Ich bekomme diesen Fehler, wenn ich das versuche, weiß jemand, ob sich etwas geändert hat? danke tweepy.error.TweepError: [{u'message ': zu viele Begriffe in Abfrage angegeben.', u'code ': 18}] – 10mjg

Verwandte Themen