2014-11-07 16 views
9

Używanie tweepy Jestem w stanie zwrócić wszystkich moich znajomych za pomocą kursora. Czy można określić innego użytkownika i uzyskać wszystkich jego znajomych?Zdobądź wszystkich znajomych danego użytkownika na Twitterze z 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 

która drukuje listę wszystkich moich przyjaciół, więc jeśli mogę zmienić pierwszą linię innemu użytkownikowi twitter wciąż powraca moich przyjaciół. Jak mogę zdobyć przyjaciół dla dowolnego użytkownika za pomocą tweepy?

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

Dodatkowo user.screen_name po wydrukowaniu WILL powrót otherUsername

Pytanie Get All Follower IDs in Twitter by Tweepy robi zasadniczo co szukam jednak zwraca tylko liczbę identyfikatorów. Jeśli usunę funkcję len(), będę mógł przeglądać listę identyfikatorów użytkowników, ale czy można uzyskać nazwy ekranów: @twitter, @stackoverflow, @etc.....?

+0

możliwe duplikat [Get All Follower identyfikatory na Twitter przez Tweepy] (http://stackoverflow.com/questions/17431807/get-all-follower-ids-in-twitter-by-tweepy). Zmienna 'ids' w zaakceptowanej odpowiedzi zawiera wszystkie identyfikatory, odbierający drukuje swoją długość, ale możesz zrobić z nią, co chcesz. – Luigi

+0

Niekoniecznie uważam, że jest to duplikat pytania, szukam uchwytów twittera lub 'screen_name', a nie identyfikatorów, które są zwracane w pytaniu, które umieściłem w pytaniu jako referencji, ponieważ mój kod jest zasadniczo samo – user2497792

+0

Dzięki za edycję wyjaśniającą. – Luigi

Odpowiedz

15

Można użyć ids zmienną z answer wy wymienionej w drugiej odpowiedzi, aby uzyskać identyfikator zwolenników danej osoby, i przedłużyć go dostać nazwy ekranowe wszystkich zwolenników korzystających api.lookup_users metodę Tweepy za:

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

To rozwiązanie zrobiło to, czego szukałem. – user2497792

+0

pojawia się ten błąd, gdy próbuję tego, czy ktoś wie, czy coś się zmieniło? dzięki tweepy.error.TweepError: [{u'message ": wiele terminów podanych w zapytaniu. ', u'code': 18}] – 10mjg