当前位置: 首页 > news >正文

【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博舆情分析实现

大家好,我是java1234_小锋老师,最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts)视频教程,持续更新中,计划月底更新完,感谢支持。今天讲解微博舆情分析实现

视频在线地址:

2026版【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts+爬虫) 视频教程 (火爆连载更新中..)_哔哩哔哩_bilibili

课程简介:

本课程采用主流的Python技术栈实现,Mysql8数据库,Flask后端,Pandas数据分析,前端可视化图表采用echarts,以及requests库,snowNLP进行情感分析,词频统计,包括大量的数据统计及分析技巧。

实现了,用户登录,注册,爬取微博帖子和评论信息,进行了热词统计以及舆情分析,以及基于echarts实现了数据可视化,包括微博文章分析,微博IP分析,微博评论分析,微博舆情分析。最后也基于wordcloud库实现了词云图,包括微博内容词云图,微博评论词云图,微博评论用户词云图等功能。

微博舆情分析实现

我们来实现下舆情分析功能。主要是分页显示微博数据,以及最后一列要进行情感分析。

articleData.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 class="card-body"><div class="collapse" id="datatable-1"><div class="card"><kbd class="bg-dark"><pre id="bootstrap-datatables"class="text-white"><code>
&#x3C;table id=&#x22;datatable&#x22; class=&#x22;table data-table table-striped table-bordered&#x22; &#x3E;&#x3C;thead&#x3E;&#x3C;tr&#x3E;&#x3C;th&#x3E;Name&#x3C;/th&#x3E;&#x3C;th&#x3E;Position&#x3C;/th&#x3E;&#x3C;th&#x3E;Office&#x3C;/th&#x3E;&#x3C;th&#x3E;Age&#x3C;/th&#x3E;&#x3C;th&#x3E;Start date&#x3C;/th&#x3E;&#x3C;th&#x3E;Salary&#x3C;/th&#x3E;&#x3C;/tr&#x3E;&#x3C;/thead&#x3E;&#x3C;tbody&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Tiger Nixon&#x3C;/td&#x3E;&#x3C;td&#x3E;System Architect&#x3C;/td&#x3E;&#x3C;td&#x3E;Edinburgh&#x3C;/td&#x3E;&#x3C;td&#x3E;61&#x3C;/td&#x3E;&#x3C;td&#x3E;2011/04/25&#x3C;/td&#x3E;&#x3C;td&#x3E;$320,800&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Garrett Winters&#x3C;/td&#x3E;&#x3C;td&#x3E;Accountant&#x3C;/td&#x3E;&#x3C;td&#x3E;Tokyo&#x3C;/td&#x3E;&#x3C;td&#x3E;63&#x3C;/td&#x3E;&#x3C;td&#x3E;2011/07/25&#x3C;/td&#x3E;&#x3C;td&#x3E;$170,750&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Ashton Cox&#x3C;/td&#x3E;&#x3C;td&#x3E;Junior Technical Author&#x3C;/td&#x3E;&#x3C;td&#x3E;San Francisco&#x3C;/td&#x3E;&#x3C;td&#x3E;66&#x3C;/td&#x3E;&#x3C;td&#x3E;2009/01/12&#x3C;/td&#x3E;&#x3C;td&#x3E;$86,000&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Cedric Kelly&#x3C;/td&#x3E;&#x3C;td&#x3E;Senior Javascript Developer&#x3C;/td&#x3E;&#x3C;td&#x3E;Edinburgh&#x3C;/td&#x3E;&#x3C;td&#x3E;22&#x3C;/td&#x3E;&#x3C;td&#x3E;2012/03/29&#x3C;/td&#x3E;&#x3C;td&#x3E;$433,060&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Airi Satou&#x3C;/td&#x3E;&#x3C;td&#x3E;Accountant&#x3C;/td&#x3E;&#x3C;td&#x3E;Tokyo&#x3C;/td&#x3E;&#x3C;td&#x3E;33&#x3C;/td&#x3E;&#x3C;td&#x3E;2008/11/28&#x3C;/td&#x3E;&#x3C;td&#x3E;$162,700&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Brielle Williamson&#x3C;/td&#x3E;&#x3C;td&#x3E;Integration Specialist&#x3C;/td&#x3E;&#x3C;td&#x3E;New York&#x3C;/td&#x3E;&#x3C;td&#x3E;61&#x3C;/td&#x3E;&#x3C;td&#x3E;2012/12/02&#x3C;/td&#x3E;&#x3C;td&#x3E;$372,000&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Herrod Chandler&#x3C;/td&#x3E;&#x3C;td&#x3E;Sales Assistant&#x3C;/td&#x3E;&#x3C;td&#x3E;San Francisco&#x3C;/td&#x3E;&#x3C;td&#x3E;59&#x3C;/td&#x3E;&#x3C;td&#x3E;2012/08/06&#x3C;/td&#x3E;&#x3C;td&#x3E;$137,500&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Rhona Davidson&#x3C;/td&#x3E;&#x3C;td&#x3E;Integration Specialist&#x3C;/td&#x3E;&#x3C;td&#x3E;Tokyo&#x3C;/td&#x3E;&#x3C;td&#x3E;55&#x3C;/td&#x3E;&#x3C;td&#x3E;2010/10/14&#x3C;/td&#x3E;&#x3C;td&#x3E;$327,900&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Colleen Hurst&#x3C;/td&#x3E;&#x3C;td&#x3E;Javascript Developer&#x3C;/td&#x3E;&#x3C;td&#x3E;San Francisco&#x3C;/td&#x3E;&#x3C;td&#x3E;39&#x3C;/td&#x3E;&#x3C;td&#x3E;2009/09/15&#x3C;/td&#x3E;&#x3C;td&#x3E;$205,500&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Sonya Frost&#x3C;/td&#x3E;&#x3C;td&#x3E;Software Engineer&#x3C;/td&#x3E;&#x3C;td&#x3E;Edinburgh&#x3C;/td&#x3E;&#x3C;td&#x3E;23&#x3C;/td&#x3E;&#x3C;td&#x3E;2008/12/13&#x3C;/td&#x3E;&#x3C;td&#x3E;$103,600&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Jena Gaines&#x3C;/td&#x3E;&#x3C;td&#x3E;Office Manager&#x3C;/td&#x3E;&#x3C;td&#x3E;London&#x3C;/td&#x3E;&#x3C;td&#x3E;30&#x3C;/td&#x3E;&#x3C;td&#x3E;2008/12/19&#x3C;/td&#x3E;&#x3C;td&#x3E;$90,560&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Quinn Flynn&#x3C;/td&#x3E;&#x3C;td&#x3E;Support Lead&#x3C;/td&#x3E;&#x3C;td&#x3E;Edinburgh&#x3C;/td&#x3E;&#x3C;td&#x3E;22&#x3C;/td&#x3E;&#x3C;td&#x3E;2013/03/03&#x3C;/td&#x3E;&#x3C;td&#x3E;$342,000&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Charde Marshall&#x3C;/td&#x3E;&#x3C;td&#x3E;Regional Director&#x3C;/td&#x3E;&#x3C;td&#x3E;San Francisco&#x3C;/td&#x3E;&#x3C;td&#x3E;36&#x3C;/td&#x3E;&#x3C;td&#x3E;2008/10/16&#x3C;/td&#x3E;&#x3C;td&#x3E;$470,600&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Haley Kennedy&#x3C;/td&#x3E;&#x3C;td&#x3E;Senior Marketing Designer&#x3C;/td&#x3E;&#x3C;td&#x3E;London&#x3C;/td&#x3E;&#x3C;td&#x3E;43&#x3C;/td&#x3E;&#x3C;td&#x3E;2012/12/18&#x3C;/td&#x3E;&#x3C;td&#x3E;$313,500&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Tatyana Fitzpatrick&#x3C;/td&#x3E;&#x3C;td&#x3E;Regional Director&#x3C;/td&#x3E;&#x3C;td&#x3E;London&#x3C;/td&#x3E;&#x3C;td&#x3E;19&#x3C;/td&#x3E;&#x3C;td&#x3E;2010/03/17&#x3C;/td&#x3E;&#x3C;td&#x3E;$385,750&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Michael Silva&#x3C;/td&#x3E;&#x3C;td&#x3E;Marketing Designer&#x3C;/td&#x3E;&#x3C;td&#x3E;London&#x3C;/td&#x3E;&#x3C;td&#x3E;66&#x3C;/td&#x3E;&#x3C;td&#x3E;2012/11/27&#x3C;/td&#x3E;&#x3C;td&#x3E;$198,500&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Paul Byrd&#x3C;/td&#x3E;&#x3C;td&#x3E;Chief Financial Officer (CFO)&#x3C;/td&#x3E;&#x3C;td&#x3E;New York&#x3C;/td&#x3E;&#x3C;td&#x3E;64&#x3C;/td&#x3E;&#x3C;td&#x3E;2010/06/09&#x3C;/td&#x3E;&#x3C;td&#x3E;$725,000&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Gloria Little&#x3C;/td&#x3E;&#x3C;td&#x3E;Systems Administrator&#x3C;/td&#x3E;&#x3C;td&#x3E;New York&#x3C;/td&#x3E;&#x3C;td&#x3E;59&#x3C;/td&#x3E;&#x3C;td&#x3E;2009/04/10&#x3C;/td&#x3E;&#x3C;td&#x3E;$237,500&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Bradley Greer&#x3C;/td&#x3E;&#x3C;td&#x3E;Software Engineer&#x3C;/td&#x3E;&#x3C;td&#x3E;London&#x3C;/td&#x3E;&#x3C;td&#x3E;41&#x3C;/td&#x3E;&#x3C;td&#x3E;2012/10/13&#x3C;/td&#x3E;&#x3C;td&#x3E;$132,000&#x3C;/td&#x3E;&#x3C;/tr&#x3E;&#x3C;tr&#x3E;&#x3C;td&#x3E;Dai Rios&#x3C;/td&#x3E;&#x3C;td&#x3E;Personnel Lead&#x3C;/td&#x3E;&#x3C;td&#x3E;Edinburgh&#x3C;/td&#x3E;&#x3C;td&#x3E;35&#x3C;/td&#x3E;&#x3C;td&#x3E;2012/09/26&#x3C;/td&#x3E;&#x3C;td&#x3E;$217,500&#x3C;/td&#x3E;&#x3C;/tr&#x3E;
&#x3C;/table&#x3E;
</code></pre></kbd></div></div><div class="table-responsive"><table id="datatable-1" class="table data-table table-striped table-bordered"><thead><tr><th>文章ID</th><th>文章内容</th><th>文章作者</th><th>用户IP</th><th>类型</th><th>发布时间</th><th>转发量</th><th>评论量</th><th>点赞量</th><th>情感分析</th></tr></thead><tbody>{% for article in articleList %}<tr><td>{{ article[0] }}</td><td><a href="{{ article[8] }}" target="_blank">{{ article[1] }}</a></td><td style="width:100px"><a href="{{ article[11] }}"target="_blank">{{ article[10] }}</a></td><td style="width:100px">{{ article[5] }}</td><td style="width:50px">{{ article[7] }}</td><td class="text-center" style="width:100px">{{ article[6] }}</td><td class="text-center" style="width:60px">{{ article[2] }}💖</td><td class="text-center" style="width:60px">{{ article[3] }}👆</td><td class="text-center" style="width:60px">{{ article[4] }}👍</td><td class="text-center" style="width:80px">{% if article[-1] == '正面' %}<span class="text-success">{{ article[-1] }}</span>{% elif article[-1] == '负面' %}<span class="text-danger">{{ article[-1] }}</span>{% else %}<span class="text-info">{{ article[-1] }}</span>{% endif %}</td></tr>{% endfor %}</tbody></table></div></div></div>
​</div></div></div>
{% endblock %}

articleDao.py实现下获取所有微博数据:

def getAllArticle():"""获取所有帖子信息:return:"""con = Nonetry:con = dbUtil.getCon()cursor = con.cursor()sql = "select * from t_article"cursor.execute(sql)return cursor.fetchall()except Exception as e:print(e)con.rollback()return Nonefinally:dbUtil.closeCon(con)

page.py里实现路由业务方法articleData:

@pb.route('/articleData')
def articleData():"""微博舆情分析:return:"""articleOldList = articleDao.getAllArticle()articleNewList = []for article in articleOldList:article = list(article)# 情感分析sentiments = ''stc = SnowNLP(article[1]).sentimentsif stc > 0.6:sentiments = '正面'elif stc < 0.2:sentiments = '负面'else:sentiments = '中性'article.append(sentiments)articleNewList.append(article)return render_template('articleData.html', articleList=articleNewList)

运行显示:

http://www.lryc.cn/news/601235.html

相关文章:

  • AI驱动的金融推理:Fin-R1模型如何重塑行业决策逻辑
  • listen() 函数详解
  • GPGPU基本概念
  • 深入解析 Vue 3 中 v-model 与表单元素的绑定机制
  • 北京-4年功能测试2年空窗-报培训班学测开-第六十一天-模拟面试第一次
  • 五自由度磁悬浮轴承转子不平衡振动破壁战:全息前馈控制实战密码
  • 结构化文本文档的内容抽取与版本重构策略
  • 程序代码篇---python获取http界面上按钮或者数据输入
  • LeetCode 611.有效三角形的个数
  • 机器学习项目一基于KNN算法的手写数字识别
  • 设计模式(十二)结构型:享元模式详解
  • AI Coding IDE 介绍:Cursor 的入门指南
  • 设计模式(八)结构型:桥接模式详解
  • 以太坊ETF流入量超越比特币 XBIT分析买币市场动态与最新价格
  • 分类预测 | MATLAB基于四种先进的优化策略改进蜣螂优化算法(IDBO)的SVM多分类预测
  • 机器学习—线性回归
  • 数学基础薄弱者的大数据技术学习路径指南
  • Java Ai (day01)
  • Oracle EBS 库存期间关闭状态“已关闭未汇总”处理
  • 【网络协议安全】任务15:DHCP与FTP服务全配置
  • docker与k8s的容器数据卷
  • S7-1500 与 S7-1200 存储区域保持性设置特点详解
  • 三、搭建springCloudAlibaba2021.1版本分布式微服务-springcloud loadbalancer负载均衡
  • Java 大视界 -- Java 大数据机器学习模型在电商客户细分与精准营销活动策划中的应用(367)
  • 机械学习----knn实战案例----手写数字图像识别
  • 人工智能开发框架 04.网络构建
  • spring gateway 配置http和websocket路由转发规则
  • Linux驱动21 --- FFMPEG 音频 API
  • Spring Boot + @RefreshScope:动态刷新配置的终极指南
  • mysql 快速上手