【问题标题】:Twitter sentiment analysis using python使用 python 进行 Twitter 情绪分析
【发布时间】:2017-05-25 08:29:11
【问题描述】:

我正在尝试创建一个分类为健康和不健康的食物推文数据集。我编写了两个脚本,它们正在流式传输具有我指定的关键字的推文,然后我对其进行了情绪分析,这样我就可以很容易地进行分类它们分为健康和不健康,但文本 blob 的情感分析并不那么令人满意,脚本还获取不包含这些关键字的推文。 如果有人知道食物推文数据集,那将很有帮助。

from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
import time
import os
from textblob import TextBlob
import json

ck`enter code here`ey = "xxx"
csecret = "xx"
atok`enter code here`en = "xx"
asecret = "xx"


class listener(StreamListener):
    def on_data(self, data):
        try:

            tweet = data.split(',"text":"')[1].split('","source')[0]
            print tweet
            saveThis = str(time.time()) + '::' + tweet
            #tweet = data.split(',"text":"')[1]
            analysis=TextBlob(tweet)
            polarity=analysis.sentiment.polarity
            print(polarity)
            if polarity <0 :
                #username = data["user"]["screen_name"]

                saveThis = tweet + '::' + str(polarity)
                out = open('out1.csv', 'a')
                out.write(saveThis)
                out.write('\n')
                out.close()
                #return (True)
                #saveThis = str(time.time()) + '::' + tweet + '::' + str(polarity)
                #saveFile = open('unhealthytweet1.json', 'a')
                #saveFile.write(saveThis)
                #saveFile.write('\n')
                #saveFile.close()
                return (True)
            elif polarity>0 :
                #username = data["user"]["screen_name"]

                 #username, " :: ",
                saveThis =tweet + '::' + str(polarity)
                out = open('out2.csv', 'a')
                out.write(saveThis)
                out.write('\n')
                out.close()
                # return (True)
                # saveThis = str(time.time()) + '::' + tweet + '::' + str(polarity)
                # saveFile = open('unhealthytweet1.json', 'a')
                # saveFile.write(saveThis)
                # saveFile.write('\n')
                # saveFile.close()
                return (True)
        except BaseException, e:
            print 'failed on_date,', str(e)
            time.sleep(5)
            pass


auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)

twitterStream = Stream(auth, listener())
twitterStream.filter(track=["vegetable soup", "fruits", "green tea", "vegetables", "fresh juice", "salad","sea food"], languages=['en'])
#

【问题讨论】:

    标签: python twitter


    【解决方案1】:

    我真的是编程新手,但我遇到了类似的问题。我发现这可能是不正确的,但它适用于我的程序,是为关键字应用原始输入,将该变量通过侦听器传递,然后运行 ​​if in data['text']

    如果关键字不在其中,则通过。

    【讨论】:

      猜你喜欢
      • 2022-01-10
      • 2022-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-25
      • 2015-09-23
      • 2012-05-01
      • 1970-01-01
      相关资源
      最近更新 更多