【Python】实时采集疫情数据,打造可视化地图,防疫从你我做起(1)

3.2、数据采集


导入模块

import time # 时间模块

import json # json包

import requests # 网络请求库 第三方 pip

import pandas as pd # 数据处理 第三库 pip

  1. 目标网址

https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=jQuery35106097998260028255_1617971061475&_=1617971061476

url = ‘https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&_=%d’%int(time.time()*1000)

  1. 模拟浏览器发送请求,获取响应

html = requests.get(url)

  1. 解析网页,提取数据
  • 正则

  • xpath

  • bs4

json类型转换

data = json.loads(html.json()[‘data’])

china_data = data[‘areaTree’][0][‘children’]

data_set = []

for i in china_data:

data_dict = {}

地区名称

data_dict[‘province’] = i[‘name’]

疫情数据

新增确诊

data_dict[‘nowConfirm’] = i[‘total’][‘nowConfirm’]

data_dict[‘confirm’] = i[‘total’][‘confirm’]

data_dict[‘dead’] = i[‘total’][‘dead’]

data_dict[‘heal’] = i[‘total’][‘heal’]

data_dict[‘deadRate’] = i[‘total’][‘deadRate’]

data_dict[‘healRate’] = i[‘total’][‘healRate’]

data_set.append(data_dict)

df = pd.DataFrame(data_set)

df

  1. 保存数据

df.to_csv(r’data.csv’)

四、数据可视化部分

=========================================================================

  • matplotlib

  • pyecharts # pip install pyecharts

from pyecharts import options as opts

from pyecharts.charts import Bar,Line,Pie,Map,Grid

df2 = df.sort_values(by=[‘nowConfirm’],ascending=False)[:9]

df2

[list(i) for i in zip(df2[‘province’].values.tolist(),df2[‘nowConfirm’].values.tolist())]

pie = (

Pie()

.add(

“”,

[list(i) for i in zip(df2[‘province’].values.tolist(),df2[‘nowConfirm’].values.tolist())],

radius = [“10%”,“30%”]

)

.set_global_opts(

legend_opts=opts.LegendOpts(orient=“vertical”, pos_top=“70%”, pos_left=“70%”),

)

.set_series_opts(label_opts=opts.LabelOpts(formatter=“{b}: {c}”))

)

pie.render_notebook()

死亡率与治愈率

line = (

Line()

.add_xaxis(list(df[‘province’].values))

.add_yaxis(“治愈率”, df[‘healRate’].values.tolist())

.add_yaxis(“死亡率”, df[‘deadRate’].values.tolist())

.set_global_opts(

title_opts=opts.TitleOpts(title=“死亡率与治愈率”),

)

)

line.render_notebook()

各地确诊与死亡人数情况

bar = (

Bar()

.add_xaxis(list(df[‘province’].values)[:6])

.add_yaxis(“死亡”, df[‘dead’].values.tolist()[:6])

.add_yaxis(“治愈”, df[‘heal’].values.tolist()[:6])

.set_global_opts(

title_opts=opts.TitleOpts(title=“各地区确诊人数与死亡人数情况”),

datazoom_opts=[opts.DataZoomOpts()],

)

)

bar.render_notebook()

各地确诊人数

china_map = (

Map()

.add(“现有确诊”, [list(i) for i in zip(df[‘province’].values.tolist(),df[‘nowConfirm’].values.tolist())], “china”)

.set_global_opts(

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

c361282296f86381401c05e862fe4e9.png)

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值