news 2026/3/17 14:27:31

毕业设计 大数据疫情可视化分析系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
毕业设计 大数据疫情可视化分析系统

文章目录

  • 0 前言
  • 1 课题介绍
  • 2 运行效果
  • 3 关键代码
    • 3.1 数据爬虫
    • 3.2 可视化部分

0 前言

🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。并且很难找到完整的毕设参考学习资料。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目提供大家参考学习,今天要分享的是

🚩基于python/大数据的疫情分析与可视化系统

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:4分
  • 工作量:4分
  • 创新点:3分

🧿选题指导, 项目分享:见文末



1 课题介绍

全球Covid-19大危机影响我们的生活,我们的出行、交流、教育、经济等都发生了巨大的变化,全球疫情大数据可视化分析与展示,可用于社会各界接入疫情数据,感知疫情相关情况的实时交互式态势,是重要的疫情分析、防控决策依据。

我国爆发的疫情,对我们的日常生活带来了极大的影响,疫情严重期间,大家都谈“疫”色变,大家对于了解疫情的情况具有巨大的需求;并且,目前来看我国仍然存在疫情二次爆发的可能,大家对于疫情的情况跟踪也急于了解。

基于这个情况,学长对疫情的数据进行了爬取和可视化的展示和疫情的追踪, 也就是学长设计的作品。


2 运行效果


3 关键代码

PS:篇幅有限,学长仅展示部分关键代码

3.1 数据爬虫

疫情数据爬虫,就是给网站发起请求,并从响应中提取需要的数据

1、发起请求,获取响应

  • 通过http库,对目标站点进行请求。等同于自己打开浏览器输入网址
  • 常用库:urllib、requests
  • 服务器会返回请求的内容一般为:HTML、文档、JSON字符串等

2、解析内容

  • 寻找自己需要的信息,也就是利用正则表达式或者其他库提取目标信息
  • 常用库:re、beautifulsoup4

3、保存数据

  • 将解析到的数据持久化到数据库中
importpymysqlimporttimeimportjsonimporttraceback#追踪异常importrequestsdefget_tencent_data():""" :return: 返回历史数据和当日详细数据 """url=''url_his=''#最基本的反爬虫headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36',}r=requests.get(url,headers)#使用requests请求res=json.loads(r.text)# json字符串转字典data_all=json.loads(res['data'])#再加上history的配套东西r_his=requests.get(url_his,headers)res_his=json.loads(r_his.text)data_his=json.loads(res_his['data'])history={}# 历史数据foriindata_his["chinaDayList"]:ds="2020."+i["date"]tup=time.strptime(ds,"%Y.%m.%d")ds=time.strftime("%Y-%m-%d",tup)# 改变时间格式,不然插入数据库会报错,数据库是datetime类型confirm=i["confirm"]suspect=i["suspect"]heal=i["heal"]dead=i["dead"]history[ds]={"confirm":confirm,"suspect":suspect,"heal":heal,"dead":dead}foriindata_his["chinaDayAddList"]:ds="2020."+i["date"]tup=time.strptime(ds,"%Y.%m.%d")ds=time.strftime("%Y-%m-%d",tup)confirm=i["confirm"]suspect=i["suspect"]heal=i["heal"]dead=i["dead"]history[ds].update({"confirm_add":confirm,"suspect_add":suspect,"heal_add":heal,"dead_add":dead})details=[]# 当日详细数据update_time=data_all["lastUpdateTime"]data_country=data_all["areaTree"]# list 25个国家data_province=data_country[0]["children"]# 中国各省forpro_infosindata_province:province=pro_infos["name"]# 省名forcity_infosinpro_infos["children"]:city=city_infos["name"]confirm=city_infos["total"]["confirm"]confirm_add=city_infos["today"]["confirm"]heal=city_infos["total"]["heal"]dead=city_infos["total"]["dead"]details.append([update_time,province,city,confirm,confirm_add,heal,dead])returnhistory,details

数据表结构

history表存储每日的总数据

CREATE TABLEhistory(ds datetime NOT NULL COMMENT ‘日期’, confirm int(11)DEFAULT NULL COMMENT ‘累计确诊’, confirm_add int(11)DEFAULT NULL COMMENT ‘当日新增确诊’, suspect int(11)DEFAULT NULL COMMENT ‘剩余疑似’, suspect_add int(11)DEFAULT NULL COMMENT ‘当日新增疑似’, heal int(11)DEFAULT NULL COMMENT ‘累计治愈’, heal_add int(11)DEFAULT NULL COMMENT ‘当日新增治愈’, dead int(11)DEFAULT NULL COMMENT ‘累计死亡’, dead_add int(11)DEFAULT NULL COMMENT ‘当日新增死亡’, PRIMARY KEY(ds)USING BTREE)ENGINE=InnoDB DEFAULTCHARSET=utf8mb4;

details表存储每日的详细数据

CREATE TABLE details(idint(11)NOT NULL AUTO_INCREMENT, update_time datetime DEFAULT NULL COMMENT ‘数据最后更新时间’, province varchar(50)DEFAULT NULL COMMENT ‘省’, city varchar(50)DEFAULT NULL COMMENT ‘市’, confirm int(11)DEFAULT NULL COMMENT ‘累计确诊’, confirm_add int(11)DEFAULT NULL COMMENT ‘新增确诊’, heal int(11)DEFAULT NULL COMMENT ‘累计治愈’, dead int(11)DEFAULT NULL COMMENT ‘累计死亡’, PRIMARY KEY(id))ENGINE=InnoDB DEFAULTCHARSET=utf8mb4;

整体的数据库图表:

3.2 可视化部分

echarts绘制图表

defget_c1_data():""" :return: 返回大屏div id=c1 的数据 """# 因为会更新多次数据,取时间戳最新的那组数据sql="select sum(confirm),"\"(select suspect from history order by ds desc limit 1),"\"sum(heal),"\"sum(dead) "\"from details "\"where update_time=(select update_time from details order by update_time desc limit 1) "res=query(sql)res_list=[str(i)foriinres[0]]res_tuple=tuple(res_list)returnres_tuple

中国疫情地图实现

defget_c2_data():""" :return: 返回各省数据 """# 因为会更新多次数据,取时间戳最新的那组数据sql="select province,sum(confirm) from details "\"where update_time=(select update_time from details "\"order by update_time desc limit 1) "\"group by province"res=query(sql)returnres

全国累计趋势

defget_l1_data():""" :return:返回每天历史累计数据 """sql="select ds,confirm,suspect,heal,dead from history"res=query(sql)returnresdefget_l2_data():""" :return:返回每天新增确诊和疑似数据 """sql="select ds,confirm_add,suspect_add from history"res=query(sql)returnresdefget_r1_data():""" :return: 返回非湖北地区城市确诊人数前5名 """sql='SELECT city,confirm FROM '\'(select city,confirm from details '\'where update_time=(select update_time from details order by update_time desc limit 1) '\'and province not in ("湖北","北京","上海","天津","重庆") '\'union all '\'select province as city,sum(confirm) as confirm from details '\'where update_time=(select update_time from details order by update_time desc limit 1) '\'and province in ("北京","上海","天津","重庆") group by province) as a '\'ORDER BY confirm DESC LIMIT 5'res=query(sql)returnres

疫情热搜

defget_r2_data():""" :return: 返回最近的20条热搜 """sql='select content from hotsearch order by id desc limit 20'res=query(sql)# 格式 (('民警抗疫一线奋战16天牺牲1037364',), ('四川再派两批医疗队1537382',)returnres

🧿选题指导, 项目分享:见文末


🧿 项目分享:大家可自取用于参考学习,获取方式见文末!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 6:42:40

22、深入探索Web部件编程:部署、开发与优化

深入探索Web部件编程:部署、开发与优化 1. 部署用户控件为Web部件 将用户控件部署为Web部件,可按以下步骤操作: 1. 把用户控件文件添加到服务器的UserControls文件夹。 2. 创建一个测试页面,其中包含一个SmartPart,该SmartPart包含要部署的控件。 3. 设置Web部件的标…

作者头像 李华
网站建设 2026/3/13 5:13:40

【Open-AutoGLM手机部署终极指南】:手把手教你从零安装并运行大模型

第一章:Open-AutoGLM手机部署概述Open-AutoGLM 是基于 AutoGLM 架构优化的轻量化大语言模型,专为移动设备端侧推理设计。其核心目标是在资源受限的智能手机上实现高效、低延迟的语言理解与生成能力,同时兼顾隐私保护和离线可用性。部署优势 支…

作者头像 李华
网站建设 2026/3/13 15:09:35

声音记忆重建:GPT-SoVITS在失语症康复中的尝试

声音记忆重建:GPT-SoVITS在失语症康复中的尝试 在神经疾病病房的一角,一位脑卒中患者正通过眼动仪缓慢选择屏幕上的词汇。当系统最终合成出一段语音时,他的家人突然红了眼眶——那声音,竟和他生病前一模一样。 这并非科幻场景&…

作者头像 李华
网站建设 2026/3/17 3:48:10

零噪声知识图谱提取革命:构建自适应本体驱动GraphRAG系统

Ontology-Driven GraphRAG: A Framework for Zero-Noise Knowledge Extraction 文章摘要 本文探讨了传统GraphRAG系统在真实场景中的痛点,如实体重复、数据丢失和可追溯性缺失,并提出本体操作系统(Ontology Operating System)作…

作者头像 李华
网站建设 2026/3/15 0:38:20

语音合成一致性保障:GPT-SoVITS长期项目维护策略

语音合成一致性保障:GPT-SoVITS长期项目维护策略 在虚拟主播直播带货、AI有声书自动朗读、智能客服语音播报等场景日益普及的今天,一个关键问题逐渐浮现:如何让同一个“声音”在几个月甚至几年后依然听起来还是“它自己”? 这不…

作者头像 李华
网站建设 2026/3/13 8:16:47

声音数字分身构建:基于GPT-SoVITS的元宇宙应用

声音数字分身构建:基于GPT-SoVITS的元宇宙应用 在虚拟主播24小时不间断直播、AI客服能用你熟悉的声音问候“早上好”的今天,我们正快速步入一个声音可以被“复制”和“再生”的时代。想象一下:只需一分钟录音,你的声音就能在另一个…

作者头像 李华