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

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

文章目录

  • 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

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


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

http://www.jsqmd.com/news/134066/

相关文章:

  • 2025年宜昌AI搜索推广品牌机构排行榜,新测评精选推荐AI搜索推广企业 - 工业品牌热点
  • 官方最后免费版,赶紧收藏!
  • GPT-SoVITS在语音社交APP中的趣味功能开发
  • 2025景洪旧居改造公司TOP5权威推荐:本地旧房焕新指南 - 工业推荐榜
  • 42、Elasticsearch监控插件与Percolator的使用与优化
  • 2025年靠谱AI数字员工服务商排行榜,新测评精选AI数字系统员工推荐 - mypinpai
  • Everything史诗级更新,牛批Plus!
  • 告别“硬刚”加密签名:基于 Selenium CDP 实现浏览器网络数据“无感”拦截的技术实践
  • 永久删除,建议你谨慎使用!
  • 零噪声知识图谱提取革命:构建自适应本体驱动GraphRAG系统
  • 反编译python打包带密钥的exe文件思路分析
  • 10、Windows应用程序的打印与Play To功能实现
  • 语音合成口音控制:GPT-SoVITS区域化适配能力
  • 【Open-AutoGLM手机部署终极指南】:手把手教你从零安装并运行大模型
  • 2025年必看:新型印刷机品牌实力排行榜,印刷机/RG系列全自动高速粘箱机/印刷开槽模切机/高速全自动水墨印刷开槽模切机印刷机订制厂家选哪家 - 品牌推荐师
  • 错过后悔十年:Open-AutoGLM apk即将闭源,现在获取的最后机会!
  • 2025年苗木批发基地口碑榜:十大批发商选择指南,金森女贞/樱花/苗木/紫薇/白蜡/无刺枸骨球/栾树/红叶李苗木批发基地批发商推荐排行 - 品牌推荐师
  • 语音合成一致性保障:GPT-SoVITS长期项目维护策略
  • 11、深入解析 Windows 应用中的 Play To 与 WNS 功能
  • GPT-SoVITS能否模拟不同年龄段的声音变化?
  • GPT-SoVITS能否用于外语口语教学纠音?
  • 12、优化用户交互与界面响应:技术实践与策略解析
  • 企业管理咨询公司哪家强?2025年12月最新十大机构实力对比与闭眼入推荐 - 十大品牌推荐
  • 13、提升用户界面响应性:异步编程实战指南
  • GPT-SoVITS能否还原方言俚语和地方表达?
  • 模型漂移监控:测试团队如何持续验证AI生成内容的语义一致性
  • ABP-数据库迁移问题
  • 14、提升用户界面:异步操作与动画设计
  • 30、版本控制工具 Mercurial 与 Git 终端操作指南
  • 摩根大通将提供机构加密货币交易服务?一文回顾其十年加密业务发展简史