本文主要是介绍小福利,Python带你一秒爬虫获取疫情数据和绘制数据图表!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大家好,我是天空之城,今天给大家带来小福利,Python带你一秒爬虫获取疫情数据和绘制数据图表!
import requests
import json
import pandas as pd
url='https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&_t=0.5759220376658807'
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36'}resp=requests.get(url,headers=headers)
resps=resp.json()
resps=resps["data"]
dataw=json.loads(resps)
datas=dataw["areaTree"][0]['children']datas_list=[]
for i in datas:datas_dict={}datas_dict['地区名称']=i['name']datas_dict['新增确诊']=i['total']['nowConfirm']datas_dict['累计确诊']=i['total']['confirm']datas_dict['死亡人数']=i['total']['dead']datas_dict['治愈人数']=i['total']['heal']datas_dict['死亡率']=i['total']['deadRate']datas_dict['治愈率']=i['total']['healRate']datas_list.append(datas_dict)df=pd.DataFrame(datas_list)
print(df)
获得数据截图如下:
绘制饼图如下:
pie=(Pie().add('',[list(i) for i in zip(df_2['地区名称'].values.tolist(),df_2['新增确诊'].values.tolist())],radius=['10%','30%']).set_global_opts(legend_opts=opts.LegendOpts(orient="vertical",pos_top="66%",pos_left="66%")).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")))
pie.render_notebook()
获得饼图如下:
折线图:
line = (Line().add_xaxis(list(df['地区名称'].values)).add_yaxis("治愈率",df['治愈率'].values.tolist()).add_yaxis("死亡率", df['死亡率'].values.tolist()).set_global_opts(title_opts=opts.TitleOpts(title="死亡率与治愈率")))line.render_notebook ()
图片如下
柱状图:
bar = (Bar().add_xaxis(list(df['地区名称'].values)[:6]).add_yaxis("死亡", df['死亡人数'].values.tolist()[:6]).add_yaxis("治愈",df['治愈人数'].values.tolist()[:6]).set_global_opts(title_opts=opts.TitleOpts(title="各地区确诊人数与死亡人数情况"),datazoom_opts=[opts.DataZoomOpts()]))
bar. render_notebook()
图片
这篇关于小福利,Python带你一秒爬虫获取疫情数据和绘制数据图表!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!