网站排名消失,苏州高端网站建设公司哪家好,威县做网站报价,动漫设计学校戳蓝字“CSDN云计算”关注我们哦#xff01;来源 | 三行科创责编 | Carol出品 | CSDN云计算#xff08;ID#xff1a;CSDNcloud#xff09; 2019-nCoV新型冠状病毒引发的肺炎牵动全国人民的心#xff0c;无数无畏的英雄儿女逆行而上奔赴前线#xff0c;作者也于2020年2月… 戳蓝字“CSDN云计算”关注我们哦来源 | 三行科创责编 | Carol出品 | CSDN云计算IDCSDNcloud 2019-nCoV新型冠状病毒引发的肺炎牵动全国人民的心无数无畏的英雄儿女逆行而上奔赴前线作者也于2020年2月2号回上海了开启居家办公模式。2月3日上午部门开了电话会议后晚上刷手机刷这刷着觉得也要像那些医务人员一样勇敢为疫情做点什么于是有了这次2019-nCoV项目本项目包括如下三部分。第一部分 获取疫情数据第二部分 地理可视化第三部分 病例数据规律探索本篇主要讲如何获取实时疫情数据。分析与操作很多大型门户网站和手机应用都开设了专门的疫情实时追踪数据网站和功能比较友好的有腾讯新闻网易新闻新浪新闻三者网页感官大体差不多有疫情最新总数疫情地图疫情病例曲线等数据来源于国家及各地卫生健康委员会每日发布的信息今天我们就以腾讯新闻为例来获取疫情实时数据。具体操作1、打开目标网站2、按住F12进入开发者模式再按CtrlR刷新3、在NetWork下找到getOnsInfo?namedisease_h5列4, 双击该条目跳转到一个类似于https://view.inews.qq.com/g2/getOnsInfo?namedisease_h5callbackjQuery34106817348088859214_1580806762734_1580806762735网站发现里面网站都是非常工整的json格式数据即我们想要获取的疫情数据但是我们请求的url为https://view.inews.qq.com/g2/getOnsInfo?namedisease_h5即可因为后面callback参数只是记录你访问的一个标识。完整代码疫情数据找到了接下来就是通过requests模块访问并获取并加以整理数据的事情了。# -*- coding: utf-8 -*-Created on Tue Feb 4 10:27:51 2020
project name:2019-nCoV
author: 帅帅de三叔import json, csv, requests #导入请求模块
def get_data(): #定义获取数据并写入csv文件里的函数url https://view.inews.qq.com/g2/getOnsInfo?namedisease_h5 #请求网址responserequests.get(url).json() #发出请求并json化处理#print(response) #测试一下是否获取数据了data json.loads(response[data]) #提取数据部分#print(data.keys()) #获取数据组成部分[chinaTotal, chinaAdd, lastUpdateTime, areaTree, chinaDayList, chinaDayAddList]update_timedata[lastUpdateTime]chinaDayListdata[chinaDayList] #历史数据 with open(每日病例.csv,w,newline) as csv_file:writercsv.writer(csv_file)header[date,confirm,suspect,dead,heal, update_time] #定义表头writer.writerow(header)for i in range(len(chinaDayList)):data_row1[chinaDayList[i][date],chinaDayList[i][confirm],chinaDayList[i][suspect],chinaDayList[i][dead],chinaDayList[i][heal], update_time]writer.writerow(data_row1) chinaDayAddListdata[chinaDayAddList] #历史新增数据 with open(每日新增病例.csv,w,newline) as csv_file:writercsv.writer(csv_file)header[date,confirm,suspect,dead,heal,update_time] #定义表头writer.writerow(header)for i in range(len(chinaDayAddList)):data_row2[chinaDayAddList[i][date],chinaDayAddList[i][confirm],chinaDayAddList[i][suspect],chinaDayAddList[i][dead],chinaDayAddList[i][heal], update_time]writer.writerow(data_row2)areaTreedata[areaTree] #各地方数据with open(全国各城市病例数据.csv,w,newline) as csv_file:writercsv.writer(csv_file)header[province, city_name, total_confirm, total_suspect, total_dead, total_heal, today_confirm, today_suspect, today_dead, today_heal,update_time]writer.writerow(header)china_dataareaTree[0][children] #中国数据for j in range(len(china_data)):provincechina_data[j][name] #省份city_listchina_data[j][children] #该省份下面城市列表for k in range(len(city_list)): city_namecity_list[k][name] #城市名称total_confirmcity_list[k][total][confirm] #总确认病例total_suspectcity_list[k][total][suspect] #总疑似病例total_deadcity_list[k][total][dead] #总死亡病例total_healcity_list[k][total][heal] #总治愈病例today_confirmcity_list[k][today][confirm] #今日确认病例today_suspectcity_list[k][total][suspect] #今日疑似病例today_deadcity_list[k][today][dead] #今日死亡病例today_healcity_list[k][today][heal] #今日治愈病例 print(province, city_name, total_confirm, total_suspect, total_dead, total_heal, today_confirm, today_suspect, today_dead, today_heal,update_time)data_row3[province, city_name, total_confirm, total_suspect, total_dead, total_heal, today_confirm, today_suspect, today_dead, today_heal, update_time]writer.writerow(data_row3)if __name____main__:get_data()
代码解读这里主要用到json, csv, requests三个模块用requests发出请求获取返回的json格式数据我们可以用data.keys()打印出数据构成一共有’chinaTotal’, ‘chinaAdd’, ‘lastUpdateTime’, ‘areaTree’, ‘chinaDayList’ 和 ‘chinaDayAddList’ 6部分数据分别对应中国疫情总数当日新增疫情总数最近一次更新时间各地方疫情明细历史疫情总数和历史新增总数其中areaTree还包括海外数据在厘清数据组成之后就需要把各部分数据分别弄下来对于’chinaTotal’, ‘chinaAdd’, ‘lastUpdateTime’这三部分数据都只有一条数据对后面的研究不大故这次只准备获取后面三部分’areaTree’, ‘chinaDayList’ 和 ‘chinaDayAddList’ 采取了3次分别写入csv文件中并在每次写入的时候增加了更新时间字段使得字段完备。数据截图后续1、获取数据后接下来工作是可视化了有两个方向一个是pyecharts, 一个是basemap。2、这里代码每次获取都是获取三份数据一份是每日总病例一份是每日新增病例这两份都是全国汇总数据第三份是全国各城市病例数据这个有明细如果要看地图变迁的话需要不同日期的数据。3、在探索病例曲线特征的时候可以简单的按照[时间序列拟合出logistic模型求解模型参数再对未来时日加以预测。福利扫描添加小编微信备注“姓名公司职位”入驻【CSDN博客】加入【云计算学习交流群】和志同道合的朋友们共同打卡学习
推荐阅读GitHub 标星 14000阿里开源的 SEATA 如何应用到极致
Serverless 终结 Kubernetes
享受梦幻技术盛宴相约 Unite 2020
JavaScript 造就年薪超过 10 万美元的开发者们
只需1分钟这个网站用AI分离歌曲的人声、伴奏和乐器声
10 大趋势带你预见 DeFi 2020
真香朕在看了