这是我在基于推特的情绪数据分析中得到的错误
tweets = api.Get_tweets(query ='Dengue',count = 200)AttributeError:'TwitterClient'对象没有属性'Get_tweets'>>>
def get_tweets(self, query, count = 10):
tweets = []
try:
fetched_tweets = self.api.search(q = query, count = count)
for tweet in fetched_tweets:
parsed_tweet = {}
parsed_tweet['text'] = tweet.text
parsed_tweet['sentiment'] = self.get_tweet_sentiment(tweet.text)
if tweet.retweet_count > 0:
if parsed_tweet not in tweets:
tweets.append(parsed_tweet)
else:
tweets.append(parsed_tweet)
return tweets
except tweepy.TweepError as e:
print("Error : " + str(e))
def main():
api = TwitterClient()
tweets = api.get_tweets(query = 'Dengue', count = 200)
2 回答
查看您正在使用的缩进,似乎
get_tweets
不是TwitterClient
的成员 .此代码确保
get_tweets
是TwitterClient
的成员 . 此外,注意到我在main()
中将api
重命名为client
,考虑到使用self.api
的惯例,这可能不那么令人困惑 .导入重新导入tweepy
来自tweepy导入OAuthHandler
从textblob导入TextBlob
来自twitter进口Twitter
类TwitterClient(对象):'''
用于情绪分析的通用Twitter类 . “””
def init (个体经营):'''
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
的access_token = ''
access_token_secret =''
尝试:
除了:
def clean_tweet(self,tweet):
使用简单的正则表达式语句的字符 .
return'' . join(re.sub(“(@ [A-Za-z0-9])|([^0-9A-Za-z \ t])|(\ w:// \ S)”, “”,推文).split())
def get_tweet_sentiment(self,tweet):
类TwitterClient:
def main():
print(“正推文百分比:{}%” . 格式(100 * len(ptweets)/ len(tweets)))
ntweets = [如果tweet ['sentiment'] =='negative',推文中的推文推文]
print(“负推文百分比:{}%” . 格式(100 * len(ntweets)/ len(tweets)))
打印(“中性推文百分比:{}%\
打印(“\ n \ n正在推文:”)
对于ptweets中的推文[:10]:
print(“\ n \ nNendative tweets:”)
在ntweets [:10]中发推文:
如果 name ==“ main ”: