2015-07-19 17 views
5

Ich versuche, alle Antworten dieses bestimmten Benutzers zu erhalten. So hat dieser bestimmte Benutzer reply_to_user_id_str von 151791801. Ich habe versucht, alle Antworten auszudrucken, aber ich bin nicht sicher, wie. Ich schaffe es jedoch nur, nur eine der Antworten auszudrucken. Kann mir jemand helfen, alle Antworten auszudrucken? enter image description hereTweepy Twitter erhalten alle Tweet Antworten bestimmter Benutzer

Meine Codes sind:

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:

Antwort

7

Zuerst das retweet Thread der Unterhaltung mit dem Dienstanbieter finden:

# 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 

Die Variable last tweet ihre letzte retweet enthalten für dich. Von dort können Sie zurück zu Ihrem ursprünglichen Tweet:

# 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 

Es ist nicht schön, aber es macht die Arbeit erledigt. Viel Glück!

+0

danke! Es klappt. Nur eine Frage: Weißt du, wie du das Tweet-Limit meidest? Versuchte Ausnahme, funktioniert aber nicht –

+0

Meinst du twitter API-Ratenbeschränkungen? Sie können den Parameter wait_on_rate_limit auf wahr setzen, wenn Sie die API einrichten. Zum Beispiel: 'api = tweepy.API (auth_args, wait_on_rate_limit = True)'. – jjinking

+0

Beantwortet das Ihre Frage? – jjinking