Ich versuche, ein einfaches Skript auszuführen, das Live-Tweets streamen wird. Mehrere Versuche, Retweets auszufiltern, waren nicht erfolgreich. Ich bekomme immer noch manuelle Retweets (mit dem Text "RT @") in meinem Stream. Ich habe andere Methoden einschließlich link und link versucht.Ignorieren von Retweets beim Streamen von Twitter Tweets
Wie lerne ich, mein Code ist sehr ähnlich wie die folgenden: link
Was kann ich tun, Retweets zu ignorieren?
Hier ist ein Ausschnitt aus meinem Code:
class StreamListener(tweepy.StreamListener):
def on_status(self, status):
if (status.retweeted) and ('RT @' not in status.text):
return
description = status.user.description
loc = status.user.location
text = status.text
coords = status.coordinates
geo = status.geo
name = status.user.screen_name
user_created = status.user.created_at
followers = status.user.followers_count
id_str = status.id_str
created = status.created_at
retweets = status.retweet_count
bg_color = status.user.profile_background_color
# Initialize TextBlob class on text of each tweet
# To get sentiment score from each class
blob = TextBlob(text)
sent = blob.sentiment
Wie sieht das Objekt 'status' aus? – ninesalt
Ihre Logik scheint ein wenig verwirrt - '(status.retweeted) und ('RT @' nicht in status.text)' würde nur "offizielle" Retweets zurückgeben. Vielleicht solltest du '(status.retweeted) oder ('RT @' in status.text)' verwenden, um sowohl "offizielle" als auch "manuelle" Retweets auszuschließen – asongtoruin