Tweepy Streaming API: как транслировать твиты с ключевым словом и применять к нему TextBlob - PullRequest
0 голосов
/ 11 апреля 2019

Я довольно новичок в 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"])

В конце я надеюсь построить график с потоком результатов в реальном времени. На данный момент я просто хочу, чтобы анализ настроений применялся к каждому твиту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...