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

本课程采用主流的Python技术栈实现,Mysql8数据库,Flask后端,Pandas数据分析,前端可视化图表采用echarts,以及requests库,snowNLP进行情感分析,词频统计,包括大量的数据统计及分析技巧。
实现了,用户登录,注册,爬取微博帖子和评论信息,进行了热词统计以及舆情分析,以及基于echarts实现了数据可视化,包括微博文章分析,微博IP分析,微博评论分析,微博舆情分析。最后也基于wordcloud库实现了词云图,包括微博内容词云图,微博评论词云图,微博评论用户词云图等功能。
词云图-微博评论词云图实现

首先把微博评论词云图静态网页模版commentCloud.html放到templates下:
{% extends 'base.html' %}
{% block title %}微博评论词云图{% endblock %}
{% block content %}
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header d-flex justify-content-between">
<div class="header-title">
<h4 class="card-title">微博评论词云图</h4>
</div>
<div class="header-action">
<i data-toggle="collapse" data-target="#datatable-1" aria-expanded="false">
<svg width="20" xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"></path>
</svg>
</i>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<div id="main" style="width:100%;height:750px;text-align:center">
<img style="width:40%" src="/static/comment_cloud.jpg" alt="">
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
page.py下新建commentCloud方法:
@pb.route('/commentCloud')
def commentCloud():
"""
微博评论词云图
:return:
"""
# 只读取前50条
df = pd.read_csv('./fenci/comment_fre.csv', nrows=50)
hotCommentWordList = [x[0] for x in df.values]
str2 = ' '.join(hotCommentWordList)
wordcloudUtil.genWordCloudPic(str2, 'comment_mask.jpg', 'comment_cloud.jpg')
return render_template('commentCloud.html')