#数据获取python
最近你们天天都窝在家里关注疫情数据,那么问题来了,怎么用python抓取疫情数据画疫情曲线和地图呢?git
首先咱们先选一个数据源,以腾讯的实时数据为例。 news.qq.com/zt2020/page…github
经过分析咱们就获得了URL地址、请求方法、参数、应答格式等信息,有了这些信息分分钟就能够获取数据了。json
抓取每日确诊、疑似、死亡、治愈数据,代码以下:工具
url = 'https://view.inews.qq.com/g2/getOnsInfo?name=wuwei_ww_cn_day_counts&callback=&_=%d'%int(time.time()*1000)
data = json.loads(requests.get(url=url).json()['data'])
复制代码
抓取各省累计确诊数据,代码以下:url
num={}
url='https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=&_=%d'%int(time.time()*1000)
url_data=json.loads(requests.get(url=url).json()['data'])
for item in url_data['areaTree'][0]['children']:
num.update({item['name'] : item['total']['confirm']})
复制代码
#数据展现spa
获取到每日确诊、疑似、死亡、治愈数据后,使用Matplotlib模块直接画疫情曲线。code
plt.subplot(211)
plt.title('2019-nCoV confirm and suspect', fontsize=20)
plt.plot(date_list, confirm_list, label='confirm')
plt.plot(date_list, suspect_list, label='suspect')
plt.subplot(212)
plt.title('2019-nCoV Curve dead and heal', fontsize=20)
plt.plot(date_list, dead_list, label='dead')
plt.plot(date_list, heal_list, label='heal')
复制代码
而画地图稍微复杂一些,须要Basemap工具包,和处理地图投影的Pyproj模块,所需模块请自行安装。cdn
画海陆分界线、国界线、行政分界线须要Shape数据,绘图用到的矢量字库simsun.tff以及源代码等能够到这里下载(github.com/benjamingth…),以为有用的话请给个Star,谢谢!htm
2019新冠肺炎疫情曲线