小福利,Python带你一秒爬虫获取疫情数据和绘制数据图表!

24 篇文章 3 订阅

大家好,我是天空之城,今天给大家带来小福利,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()

图片
在这里插入图片描述

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值