Ausschließen retweets von twitter-streaming-api mit tweepy
Beim verwenden der python - tweepy
Bibliothek zu ziehen, tweets von twitter-streaming-API ist es möglich, um auszuschließen, retweets?
Zum Beispiel, wenn ich nur die tweets geschrieben, die von einem bestimmten Benutzer ab: twitterStream.filter(follow = ["20264932"])
aber das gibt retweets und ich möchte Sie ausschließen. Wie kann ich dies tun?
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur überprüfen ob ein tweet text, um zu sehen, wenn es beginnt mit 'RT' ist nicht wirklich eine stabile Lösung. Sie müssen eine Entscheidung treffen über das, was Sie denken werden, ein retweet, denn es ist nicht genau klar-cut. Die Twitter-API docs erklären, dass tweets mit 'RT' in den tweet-text nicht offiziell retweets.
Wenn du gehst durch das 'offizielle' definition, dann wollen Sie filter tweets aus, wenn Sie eine
True
Wert für Ihre retweetet haben-Attribut, wie hier:Und wenn Sie möchten, um mehr inclusive, einschließlich der 'inoffizielle' re-tweets, Sie sollten überprüfen Sie die Zeichenfolge für den substring " RT @' und nicht nur, wenn es beginnt mit "RT", weil es das erstere ist sauberer, schneller und eliminiert edge-Fällen, in denen ein tweet beginnt mit 'RT' aber ist das nicht ein retweet (viele Daten da draußen, ich bin sicher, dies ist eine Möglichkeit). Hier finden Sie den code für das:
Letztere bedingte dauert die Teilmenge der tweets in Ihre Sammlung, regelmäßigen tweets und hat eine Schnittmenge mit der Teilmenge von tweets in Ihrer Sammlung, die nicht haben, " RT @' in der tweet-text, so dass Sie mit tweets, die angeblich regelmäßig tweets.
Ja, es gibt Möglichkeiten, dies zu tun, Einer von Ihnen ist zu prüfen, ob der text des Tweets, beginnt mit
RT
, Für die wir problemlos verwenden können.startswith()
- Methode auf strings und für diese müssen Sie ändern Sie den code deron_data()
Methode in Ihre streaming-Klasse, die getan werden kann, als: