【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库实现了词云图,包括微博内容词云图,微博评论词云图,微博评论用户词云图等功能。
主页-微博基本信息实现
我们来实现下主页的微信基本信息显示,有微博文章信息,最高点赞微博-作者信息以及微博点赞最多-城市信息。以及要求每5分钟去后端请求一次,来实时显示最新信息。
articleDao,实现获取帖子总数
def getTotalArticle():"""获取帖子总数:return:"""con = Nonetry:con = dbUtil.getCon()cursor = con.cursor()sql = "SELECT count(*) from t_article"cursor.execute(sql)return cursor.fetchone()[0]except Exception as e:print(e)con.rollback()return Nonefinally:dbUtil.closeCon(con)
articleDao,获取最高点赞微博作者
def getTopAuthor():"""获取最高点赞微博作者:return:"""con = Nonetry:con = dbUtil.getCon()cursor = con.cursor()sql = "SELECT authorName FROM t_article ORDER BY attitudes_count DESC LIMIT 0,1"cursor.execute(sql)return cursor.fetchone()[0]except Exception as e:print(e)con.rollback()return Nonefinally:dbUtil.closeCon(con)
articleDao,获取最高点赞城市
def getTopRegion():"""获取最高点赞城市:return:"""con = Nonetry:con = dbUtil.getCon()cursor = con.cursor()sql = "SELECT region_name,SUM(attitudes_count) AS ac FROM t_article WHERE region_name !='' GROUP BY region_name ORDER BY ac DESC"cursor.execute(sql)return cursor.fetchone()[0]except Exception as e:print(e)con.rollback()return Nonefinally:dbUtil.closeCon(con)
page.py实现获取主页基本数据方法
@pb.route('/homePageData')
def getHomePageData():"""获取主页数据 ajax异步交互 前端每隔10分钟请求一次 实时数据:return:"""totalArticle = articleDao.getTotalArticle()topAuthor = articleDao.getTopAuthor()topRegion = articleDao.getTopRegion()return jsonify(totalArticle=totalArticle, topAuthor=topAuthor, topRegion=topRegion)
index.html请求获取后端数据,然后渲染到页面。以及通过setInterval()方法实现定时周期任务
<script>function getHomePageData() {$.get('/page/homePageData', function (result) {$('#totalArticle').text(result.totalArticle + '个')$('#topAuthor').text(result.topAuthor)$('#topRegion').text(result.topRegion)})}$(function () {getHomePageData()const timerId = setInterval(() => {getHomePageData()}, 300000); // 5分钟执行一次});</script>