📅  最后修改于: 2023-12-03 14:49:39.577000             🧑  作者: Mango
本篇介绍了如何使用 Flask 构建一个基于 Twitter 数据的情绪分析 WebApp。我们将使用自然语言处理技术和机器学习算法来分析 Twitter 用户的情绪,并通过 WebApp 的界面展示结果。
以下是构建 Twitter 情绪分析 WebApp 的步骤:
pip install flask nltk tweepy torch
from flask import Flask, render_template, request
import nltk
from nltk.sentiment import SentimentIntensityAnalyzer
import tweepy
import torch
app = Flask(__name__)
sia = SentimentIntensityAnalyzer()
# 填写你的 Twitter API 密钥
consumer_key = 'YOUR_CONSUMER_KEY'
consumer_secret = 'YOUR_CONSUMER_SECRET'
access_token = 'YOUR_ACCESS_TOKEN'
access_token_secret = 'YOUR_ACCESS_TOKEN_SECRET'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
def analyze_sentiment(text):
sentiment = sia.polarity_scores(text)['compound']
if sentiment > 0.05:
return 'positive'
elif sentiment < -0.05:
return 'negative'
else:
return 'neutral'
@app.route('/', methods=['GET', 'POST'])
def analyze():
if request.method == 'POST':
search_query = request.form['search_query']
tweets = api.search(q=search_query, count=10)
analyzed_tweets = [{
'text': tweet.text,
'sentiment': analyze_sentiment(tweet.text)
} for tweet in tweets]
return render_template('results.html', tweets=analyzed_tweets)
return render_template('index.html')
index.html
,用于用户输入查询内容:<!DOCTYPE html>
<html>
<head>
<title>Twitter Sentiment Analysis</title>
</head>
<body>
<h1>Twitter Sentiment Analysis</h1>
<form method="post" action="/">
<input type="text" name="search_query" placeholder="Enter keyword...">
<input type="submit" value="Analyze">
</form>
</body>
</html>
results.html
,用于展示分析结果:<!DOCTYPE html>
<html>
<head>
<title>Twitter Sentiment Analysis Results</title>
</head>
<body>
<h1>Twitter Sentiment Analysis Results</h1>
<ul>
{% for tweet in tweets %}
<li><strong>{{ tweet.sentiment }}:</strong> {{ tweet.text }}</li>
{% endfor %}
</ul>
</body>
</html>
if __name__ == '__main__':
app.run()
通过以上步骤,我们创建了一个基于 Flask 的 Twitter 情绪分析 WebApp。用户可以输入关键词,我们将获取相关的 Twitter 数据并分析每条推文的情绪,并将结果展示在 WebApp 的界面上。这个应用可以帮助用户了解人们对特定主题的情绪倾向,从而提供有价值的洞察和信息。