2015-07-19 28 views
5

Próbuję uzyskać wszystkie odpowiedzi tego konkretnego użytkownika. Więc ten konkretny użytkownik ma reply_to_user_id_str z 151791801. Próbowałem wydrukować wszystkie odpowiedzi, ale nie jestem pewien jak. Jednak mogę wydrukować tylko jedną z odpowiedzi. Czy ktoś może mi pomóc, jak wydrukować wszystkie odpowiedzi? enter image description hereTweepy Twitter otrzymywać wszystkie odpowiedzi na tweeta konkretnego użytkownika

Moi kody:

for page in tweepy.Cursor(api.user_timeline, id="253346744").pages(1): 
    for item in page: 
      if item.in_reply_to_user_id_str == "151791801": 
       print item.text 
       a = api.get_status(item.in_reply_to_status_id_str) 
       print a.text 

Output:

Odpowiedz

7

Najpierw znajdź retweet wątek rozmowy z usługodawcą:

# Find the last tweet 
for page in tweepy.Cursor(api.user_timeline, id="253346744").pages(1): 
    for item in page: 
     if item.in_reply_to_user_id_str == "151791801": 
      last_tweet = item 

Zmienna last tweet zawierać będzie swój ostatni Retweet do Ciebie. Stamtąd możesz wrócić do oryginalnego tweeta:

# Loop until the original tweet 
while True: 
    print(last_tweet.text) 
    prev_tweet = api.get_status(last_tweet.in_reply_to_status_id_str) 
    last_tweet = prev_tweet 
    if not last_tweet.in_reply_to_status_id_str: 
     break 

To nie jest ładne, ale wykonuje swoją pracę. Powodzenia!

+0

dziękuję! To działa. Tylko jedno pytanie, czy wiesz, jak uniknąć limitu tweetów? Wypróbowany wyjątek, ale nie działa –

+0

Masz na myśli limity stawek API dla twitterów? Możesz ustawić parametr wait_on_rate_limit na true, gdy konfigurujesz api. Na przykład: 'api = tweepy.API (auth_args, wait_on_rate_limit = True)'. – jjinking

+0

Czy to odpowiada na twoje pytanie? – jjinking