一、概述
本学期的项目实训题目为疫情数据平台,旨在为大众提供便捷,高效的查看疫情相关信息(包括疫情基本数据、相关新闻、简单分析等)。
本篇文章将记录我所做的工作,也是记录我的学习过程。
二
(一)关于数据库的选择
首先是关于我所负责的工作,暂定负责数据管理部分,即对所获取的疫情相关数据进行存储和管理的部分,后续将视工作量调整工作分配。
关于数据库的选择问题,在和同小组成员协商后暂定使用MySQL,因为大家对此较为熟悉,也能更好支持后续开发。而MongoDB作为备选,因为与疫情相关的数据格式与Mongo的存储格式类似,并且相关操作大多为读操作且不涉及复杂的联表查询,Mongo同样很符合该使用场景。在接下来的开发过程中将首先使用MySQL,至于后续是否使用Mongo(或将Mongo作为缓存层)将根据实际开发情况而定。
(二)数据的来源以及格式
网络上大多数官方提供的api只能请求到近期的数据:
腾讯:
https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5(国内各省市地区实时数据)
https://view.inews.qq.com/g2/getOnsInfo?name=disease_other(历史日期总计及新增,这里只能请求到近三个月的数据)
https://view.inews.qq.com/g2/getOnsInfo?name=disease_foreign(国外情况)
https://api.inews.qq.com/newsqa/v1/query/pubished/daily/list?province=山东(这个接口通过修改province可获取各省省内详细情况)
新浪:
https://interface.sina.cn/news/wap/fymap2020_data.d.json
网易:
这里还有一个查询高风险地区的api:
以上是疫情数据的来源,后续大概率选择腾讯的接口。
(新增)
最后实际写项目后腾讯接口出错(https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5),原因大概是json数据没有闭合。
而使用新浪的接口(https://interface.sina.cn/news/wap/fymap2020_data.d.json)则是各省市新增数据全部为“待确认”,无法使用,因此进入到新浪疫情地图网页抓取到了新浪现在使用的数据接口:
https://news.sina.com.cn/project/fymap/ncp2020_full_data.json
结构基本与上面相同、
除了上述的数据外我们可能还需要与疫情相关的新闻链接的获取。因为在网络上查到的网易新闻的api大多是19年以前的,并不包括抗疫专题,以下是通过抓包获取的网易有关抗疫部分的新闻api:
网易新闻: https://3g.163.com
抗疫专题api:https://gw.m.163.com/nc/api/v1/feed/static/h5-normal-list?start=0&size=10&tid=T1579658657288
(这里start为开始请求的序号,size为请求数量)
关于疫情相关新闻的获取,这里暂时只列出一家(网易)来源的新闻,且未按地区区分,且有关国外的内容较少,后续将视开发情况丰富数据来源。
三、
以上是本篇文章的全部内容,最近疫情反复,各地形势严峻,望大家做好个人防护。同时感谢各大平台提供的数据,中国加油!
文章评论