Я довольно новичок в Python и хочу написать программу, которая транслирует твиты с определенным ключевым словом, а затем применяет к нему настроение TextBlob. Я могу непрерывно запускать поток твитов, но анализ настроений для каждого твита возвращает «Нет». Как я могу применить чувства к этому? Любой совет по коду также приветствуется.
def clean_tweet(tweet):
return ' '.join(re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)", " ", tweet).split())
def analize_tweets(tweets):
positive = 0
negative = 0
neutral = 0
polarity = 0
analysis = TextBlob(clean_tweet(tweets))
polarity += analysis.sentiment.polarity
if (analysis.sentiment.polarity == 0):
neutral += 1
elif (analysis.sentiment.polarity < 0.00):
negative += 1
elif (analysis.sentiment.polarity > 0.00):
positive += 1
class TwitterListener(tw.StreamListener):
def on_status(self, status):
print(status.text)
print(analize_tweets(status.text))
def on_error(self, status_code):
if status_code == 420:
return False
def _data(self, data):
if self.listener.on_data(data) is False:
self.running = False
streamlistener = TwitterListener()
tweets = tw.Stream(auth = api.auth, listener=streamlistener)
tweets.filter(track=['Trump'], languages = ["en"])
В конце я надеюсь построить график с потоком результатов в реальном времени. На данный момент я просто хочу, чтобы анализ настроений применялся к каждому твиту.