大家好,我是java1234_小锋老师,最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts)视频教程,持续更新中,计划月底更新完,感谢支持。今天讲解架构搭建
视频在线地址:
2026版【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts+爬虫) 视频教程 (火爆连载更新中..)_哔哩哔哩_bilibili
课程简介:

本课程采用主流的Python技术栈实现,Mysql8数据库,Flask后端,Pandas数据分析,前端可视化图表采用echarts,以及requests库,snowNLP进行情感分析,词频统计,包括大量的数据统计及分析技巧。
实现了,用户登录,注册,爬取微博帖子和评论信息,进行了热词统计以及舆情分析,以及基于echarts实现了数据可视化,包括微博文章分析,微博IP分析,微博评论分析,微博舆情分析。最后也基于wordcloud库实现了词云图,包括微博内容词云图,微博评论词云图,微博评论用户词云图等功能。
架构搭建
新建项目weiboNlpProject,建议用虚拟环境(依赖库独立),python版本3.11

然后我们来安装下项目需要的库。
requirements.txt
blinker==1.9.0
certifi==2025.4.26
cffi==1.17.1
charset-normalizer==3.4.2
click==8.2.1
colorama==0.4.6
contourpy==1.3.2
cryptography==45.0.4
cycler==0.12.1
Flask==3.1.1
fonttools==4.58.1
greenlet==3.2.2
idna==3.10
itsdangerous==2.2.0
jieba==0.42.1
Jinja2==3.1.6
joblib==1.5.1
kiwisolver==1.4.8
MarkupSafe==3.0.2
matplotlib==3.10.3
numpy==2.2.6
packaging==25.0
pandas==2.2.3
pillow==11.2.1
pycparser==2.22
PyMySQL==1.1.1
pyparsing==3.2.3
python-dateutil==2.9.0.post0
pytz==2025.2
requests==2.32.3
scikit-learn==1.6.1
scipy==1.15.3
six==1.17.0
snownlp==0.12.3
SQLAlchemy==2.0.41
threadpoolctl==3.6.0
typing_extensions==4.13.2
tzdata==2025.2
urllib3==2.4.0
Werkzeug==3.1.3
wordcloud==1.9.4
requirements.txt文件放到项目根目录:

然后进入终端Terminal,输入命令:
pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
我们采用阿里云镜像,安装依赖库。
等待几十秒,就安装OK。

接下来,我们新建数据库db_weibo2,数据库使用的是mysql8

根据项目业务分析,主要有用户模块和后台页面模块。所以我们新建view目录,然后里面再新建user和page两个业务目录。

同时里面再新建templates模版目录和user.py及page.py业务处理目录。
user.py目录里定义蓝图
from flask import Blueprint
ub = Blueprint('user', __name__, url_prefix='/user', template_folder='templates')
@ub.route('/test')
def user():
return 'user'
page.py目录也定义蓝图
from flask import Blueprint
pb = Blueprint('page', __name__, url_prefix='/page', template_folder='templates')
@pb.route('/test')
def page():
return 'page'
app.py里面注册蓝图
from flask import Flask
from view.page import page
from view.user import user
app = Flask(__name__)
# 注册蓝图
app.register_blueprint(page.pb)
app.register_blueprint(user.ub)
if __name__ == '__main__':
app.run()
然后我们启动项目测试:

开启debug调试。修改代码后,项目自动编译重启。
