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

发布于:2025-07-23 ⋅ 阅读:(10) ⋅ 点赞:(0)

大家好,我是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 = None
    try:
        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 None
    finally:
        dbUtil.closeCon(con)

articleDao,获取最高点赞微博作者

def getTopAuthor():
    """
    获取最高点赞微博作者
    :return:
    """
    con = None
    try:
        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 None
    finally:
        dbUtil.closeCon(con)

articleDao,获取最高点赞城市

def getTopRegion():
    """
    获取最高点赞城市
    :return:
    """
    con = None
    try:
        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 None
    finally:
        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>


网站公告

今日签到

点亮在社区的每一天
去签到