2022年计算机设计大赛国三 数据可视化 疫情看板(源码可分享)

       本人是长春师范大学人工智能专业本科在读学生,在2022年暑假(大二)参加了全国大学生计算机设计大赛,并获得了省一等奖,国家三等奖(国赛答辩出了点小插曲)。在此分享和记录本次比赛的经验。

c4d8bf4fe76645bcb05ae7c9e3fae488.jpg

 

首先是设计思路:

 1.首先是数据的获取。对于每天最新数据的来源,我们选择了国家卫健委的官方发布网站 (https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_aladin_banner),利用网络爬虫技术每天定时的将其更新的最新数据进行爬取。而对于历史数据的来源,我们发现在丁香医生app的后台数据(https://ncov.dxy.cn/ncovh5/view/pneumonia)中保存了各个地区从疫情爆发到目前每天的疫情数据,我们同样使用网络爬虫对其进行了爬取。

2.接下来数据清洗。通过网络爬虫我们获得了海量的数据,大到世界各国的所有疫情数据,小到中国各地级市各个区的所有疫情数据,这无疑给数据清洗带来了大麻烦。首先我们使用正则表达式(re)将网页后台数据的无用字符进行剔除,然后使用替换函数(sub)将不符合语法规则的数据进行修改。最后使用python内置函数eval()将数据转化为我们熟悉的字典或者列表格式。最后将最新获得的数据保存到我们的Mysql数据库和json文件中。 2.然后是数据处理。我们选择使用echarts可视化工具进行数据的展示,所以我们首先在echarts官网拿到 了echarts和图表的js配置文件,接下来我们将最新获取的数据进行提取和处理,并按照规定的格式写入我们的图表配置文件(data.js)中。

3.其次是前端的制作。首先我们使用html+css将图表和网页布局搭建好。然后使用我们之前处理javascript 文件进行数据更新和图表渲染。最后我们使用python的falsk Web框架进行网页的搭建。

4.最后是网页在服务器的部署。首先我们购买阿里云的服务器,在阿里云中搭建好nginx服务器,设置好端口,配置mysql。启动nginx服务器后,我们将我们需要的python3环境搭建好,下载chrome浏览器和驱动修改配置,导入我们的flask项目以及我们数据爬取和更新的程序。根据爬取网站数据的更新时间,我们定时在服务器中自动运行我们的数据爬取和更新的脚本(crontab),实现数据的实时更新。最后我们将我们flask后台运行,用户便可通过我们的服务器的公网http://106.13.21.99/#查看实时更新的疫情数据。

项目展示图:

c209382cbdd346efb6bd4fb39a31ee61.png

e65d4d007a614013921ad5d2c775d4ea.png 

d291da0c3af14b8dab2feb0d0cad4567.png 

 3b22e0d124644cb9a9c020a2143442e5.png

 

         最后,参加本次比赛带来的收获还是很多的,在大三大四我还会继续认真准备,冲击国一国二。有需要源码或者对我的作品有什么建议欢迎大家在评论区留言。

 

评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值