python微博爬虫情感分析可视化系统 舆情分析 python 大数据 TF-IDF算法 Flask框架 毕业设计(源码)✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏)

毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总

🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助同学们顺利毕业 。🍅

1、项目介绍

技术栈:python语言、Flask框架、MySQL数据库、Vue框架、requests爬虫、Echarts可视化、情感分析(百度情感分析senta模型)、tfidf、textrank算法、

2、项目界面

(1)微博舆情关键词分析

在这里插入图片描述

(2)词云 分析

在这里插入图片描述

(3)话题中心

在这里插入图片描述

(4)舆情地图各省份

在这里插入图片描述

(5)数据分析

在这里插入图片描述

(6)热度分析

在这里插入图片描述

(7)用户管理

在这里插入图片描述

(8)后台数据管理

在这里插入图片描述

3、项目说明

技术栈:python语言、Flask框架、MySQL数据库、Vue框架、requests爬虫、Echarts可视化、情感分析(百度情感分析senta模型)、tfidf、textrank算法、

系统采集微博话题文章和评论数据,利用senta框架提供的预模型进行情感分析,对话题的关机键词、热度、地区进行分析,使用了tfidf、textrank等算法。

1、情感分析:使用 百度情感分析senta模型,分析话题下评论内容的情感数据,点击按钮会展示当前话题下情感分析数据
2、微博舆情:展示爬取到的文章信息及文章舆情分析信息(使用 百度情感分析senta模型分析舆情指数,舆情指数小于45分为绿色,45分-60分为橙色,大于60分为红色)。
点击地址可跳转到微博文章页面,点击详情按钮页面可查看该文章详情信息。
3、舆情地图:以地图的形式,直观的展示各个省份舆情信息,可以选择具体某个话题查看。
4、关键词分析: 针对某一个话题 ,使用 textrank和tfidf分别提取话题关键词,以饼图和环形图的形式展示出来。
5、数据分析: 以旭日图的形式展示各个话题正负面舆情占比。

4、核心代码


from flask import Flask
from app_user import index_api
from app_business import home_apifrom flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelViewapp = Flask(__name__)# 配置MySQL数据库
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:123456@localhost/p_weibo'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)# 初始化Flask Admin
admin = Admin(app, name='后台管理')# 定义模型
class tbl_user(db.Model):id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(255))account = db.Column(db.String(255))pwd = db.Column(db.String(255))email = db.Column(db.String(255))phone = db.Column(db.String(255))login_flag = db.Column(db.String(255))remarks = db.Column(db.String(255))role = db.Column(db.String(255))icon = db.Column(db.String(255))class talk_article(db.Model):id = db.Column(db.Integer, primary_key=True)talk_title = db.Column(db.String(255))create_user = db.Column(db.String(255))create_date = db.Column(db.String(255))text = db.Column(db.String(255))attitudes = db.Column(db.String(255))comments = db.Column(db.String(255))reposts = db.Column(db.String(255))create_time = db.Column(db.String(255))sentiment_label = db.Column(db.String(255))sentiment_key = db.Column(db.String(255))positive_probs = db.Column(db.String(255))negative_probs = db.Column(db.String(255))class talk_detail(db.Model):id = db.Column(db.Integer, primary_key=True)title = db.Column(db.String(255))read_num = db.Column(db.String(255))read_unit = db.Column(db.String(255))talk_num = db.Column(db.String(255))talk_unit = db.Column(db.String(255))write_num = db.Column(db.String(255))write_unit = db.Column(db.String(255))type = db.Column(db.String(255))short_url = db.Column(db.String(255))target_url = db.Column(db.String(255))summary = db.Column(db.String(255))create_time = db.Column(db.String(255))create_user = db.Column(db.String(255))class talk_comment(db.Model):id = db.Column(db.Integer, primary_key=True)talk_title = db.Column(db.String(255))article_id = db.Column(db.String(255))create_date = db.Column(db.String(255))source = db.Column(db.String(255))create_user = db.Column(db.String(255))detail = db.Column(db.String(255))create_time = db.Column(db.String(255))sentiment_label = db.Column(db.String(255))sentiment_key = db.Column(db.String(255))positive_probs = db.Column(db.String(255))negative_probs = db.Column(db.String(255))# 自定义模型视图
class tbl_user_ModelView(ModelView):column_list = ('id','name', 'account','pwd','email','phone','login_flag','remarks','role')# 【搜索框】---过滤的字段名column_searchable_list = ('name',)# 设置分页大小page_size = 10class talk_article_ModelView(ModelView):column_list = ('id','talk_title','create_user','create_date','text','attitudes','comments','reposts','create_time','sentiment_label','sentiment_key','positive_probs','negative_probs')# 【搜索框】---过滤的字段名column_searchable_list = ('text',)# 设置分页大小page_size = 10class talk_detail_ModelView(ModelView):column_list = ('id','title','read_num','read_unit','talk_num','talk_unit','write_num','write_unit','type','short_url','summary','create_time','create_user')# 【搜索框】---过滤的字段名column_searchable_list = ('title',)# 设置分页大小page_size = 10class talk_comment_ModelView(ModelView):column_list = ('id','talk_title','source','create_user','detail','create_time','sentiment_label','sentiment_key','positive_probs','negative_probs')# 【搜索框】---过滤的字段名column_searchable_list = ('detail',)# 设置分页大小page_size = 10# 将模型添加到后台管理
admin.add_view(tbl_user_ModelView(tbl_user, db.session))
admin.add_view(talk_article_ModelView(talk_article, db.session))
admin.add_view(talk_detail_ModelView(talk_detail, db.session))
admin.add_view(talk_comment_ModelView(talk_comment, db.session))# 创建应用程序app.config["SECRET_KEY"] = 'TPmi4aLWRbyVq8zu9v82dWYW1'app.register_blueprint(index_api)
app.register_blueprint(home_api)if __name__ == '__main__':app.run(host="127.0.0.1", port=5000)  # 启动Flask项目

5、源码获取方式

🍅由于篇幅限制,获取完整文章或源码、代做项目的,查看我的【用户名】、【专栏名称】、【顶部选题链接】就可以找到我啦🍅

感兴趣的可以先收藏起来,点赞、关注不迷路,下方查看👇🏻获取联系方式👇🏻

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/415717.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出AI落地应用分析:国内Top10应用

接下来会每周集中体验一些通用或者垂直的AI落地应用,主要以一些全球或者国外国内排行较前的产品为研究对象,「AI 产品榜: aicpb.com」以专题的方式在博客进行分享。 1. 文心一言 产品链接:https://yiyan.baidu.com/ 产品介绍&…

[力扣 Hot100]Day7 接雨水

题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 出处 思路 就是寻找“凹”形区间,找使得左右两端点为最大的两个值的最长区间。这里我分了两种情况,右边大于等于左边…

Jvm相关知识(面试高级必备)

类的实例化顺序 先静态、先父后子 先静态:父静态>子静态 优先级:父类>子类 静态代码块>非静态代码块>构造函数 一个类的实例化过程: ①.父类的static代码块,当前类的static; ②.顺序执行…

【MySQL自身的性能优化】InnoDB 的 Buffer Pool

这里写目录标题 一、引入缓存的重要性二、InnoDB 的 Buffer Pool1. Buffer Pool 内部组成2. free 链表管理空闲页3. flush 链表管理脏页4. LRU 链表提高缓存命中那咱需要咋地解决预读问题呢?那咱需要咋地解决 Buffer Pool 污染问题呢? 5. 脏页什么时候被…

C语言中的字符串操作函数自定义实现:标准版与限定长度版

目录 1. 标准字符串操作函数自定义实现 (a) 自定义strcpy函数 (b) 自定义strcat函数 (c) 自定义strcmp函数 2. 限定长度字符串操作函数自定义实现 (a) 自定义strncpy函数 (b) 自定义strncat函数 (c) 自定义strncmp函数 对字符串的操作是不可或缺的一部分。标准库提供了…

[bat]0基础实现自动化办公-基于start实现一键打开常用软件/文档

一、应用背景 每次开机时,都要一个个打开常用软件,比如微信、QQ或是word文档、excel表格等程序,比较费时。 二、方案 使用bat脚本中的start方法,通过将需要打开的程序或文件写入到bat脚本中,运行bat脚本从而实现一键…

关于前端面试中forEach方法的灵魂7问?

目录 前言 一、forEach方法支持处理异步函数吗? 二、forEach方法在循环过程中能中断吗? 三、forEach 在删除自己的元素后能重置索引吗? 四、forEach 的性能相比for循环哪个好? 五、使用 forEach 会不会改变原来的数组&#…

我用 ChatGPT 做了一次探索性数据分析,真的太太太实用了!

ChatGPT 经过短短1年时间的发展,其功能越来越强,现在已经是大多数企业和个人不可或缺的助手。特别是最新的 GPT-4 版本,专门在左边菜单栏给出了两个工具(一个是数据分析,另一个是根据文字描述生成图片)&…

Mysql:重点且常用的 SQL 标签整理

目录 1 <resultMap> 标签 2 <sql> 标签 3 <where> 标签 4 <if> 标签 5 <trim> 标签 6 <foreach> 标签 7 <set> 标签 1 <resultMap> 标签 比如以下代码&#xff1a; <resultMap type"SysCollege" id&qu…

【汇编】pushf popf

两个指令的作用分别是将16位标志寄存器压入栈、从栈中取出&#xff0c;但是貌似没人做实验验证。 这里做个实验加深理解&#xff0c;顺便总结下几个标志寄存器的作用。 一、结构 8086CPU的flag寄存器的结构如下&#xff1a; OF&#xff1a;判断运算结果是否溢出 CF&#xff1…

MySQL 删除ibdata1时怎么恢复

标题&#xff1a;MySQL InnoDB数据恢复&#xff0c;丢失ibdata1时怎么安全恢复 废话在前&#xff1a; 恭喜你&#xff0c;当你看到这篇文章的时候&#xff0c;说明有可能 你心里已经有一万匹&#x1f40e;在奔腾了。千万不要乱删除ibdata1&#xff0c;有些博客无脑抓取、复制…

20240115在ubuntu20.04.6下给GTX1080M显卡安装驱动程序和CUDA

20240115在ubuntu20.04.6下给GTX1080M显卡安装驱动程序和CUDA 2024/1/15 18:05 百度搜索&#xff1a;ubuntu gtx1080m cuda https://blog.csdn.net/wb4916/article/details/129462103 20230311给Ubuntu18.04下的GTX1080M安装驱动 https://www.cnblogs.com/djiankuo/p/5886605.h…