大家好,我是java1234_小锋老师,最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts)视频教程,持续更新中,计划月底更新完,感谢支持。今天讲解词云图-微博评论用户词云图实现
视频在线地址:
2026版【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts+爬虫) 视频教程 (火爆连载更新中..)_哔哩哔哩_bilibili
课程简介:
本课程采用主流的Python技术栈实现,Mysql8数据库,Flask后端,Pandas数据分析,前端可视化图表采用echarts,以及requests库,snowNLP进行情感分析,词频统计,包括大量的数据统计及分析技巧。
实现了,用户登录,注册,爬取微博帖子和评论信息,进行了热词统计以及舆情分析,以及基于echarts实现了数据可视化,包括微博文章分析,微博IP分析,微博评论分析,微博舆情分析。最后也基于wordcloud库实现了词云图,包括微博内容词云图,微博评论词云图,微博评论用户词云图等功能。
词云图-微博评论用户词云图实现
首先把微博评论用户词云图静态网页模版commentUserCloud.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_user_cloud.jpg" alt="">
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
page.py下新建commentUserCloud方法:
@pb.route('/commentUserCloud')
def commentUserCloud():
"""
微博评论用户词云图
:return:
"""
# 获取top50评论用户名
top50CommentUserList = commentDao.getTopCommentUser()
top50CommentUserNameList = [cu[0] for cu in top50CommentUserList]
str = ' '.join(top50CommentUserNameList)
# 生成评论用户名词云图
wordcloudUtil.genWordCloudPic(str, 'comment_mask.jpg', 'comment_user_cloud.jpg')
return render_template('commentUserCloud.html')