Python获取江苏疫情实时数据
最近江苏南京、湖南张家界陆续*疫情,目前已波及8省22市,全国共有2个高风险地区,52个中风险地区。
身在南京,作为兢兢业业的打工人,默默地成为了“苏打绿”。为了关注疫情状况,今天我们用python来爬一爬疫情的实时数据。
01
为了使用python来获取疫情数据,我们需要找一个疫情实时追踪数据发布网站,国内比较有名的是腾讯新闻、网易新闻等,这些网站疫情内容都大同小异,主要包括国内疫情、海外疫情,每日新增确诊趋势,疫苗接种情况等,这里我们选用腾讯新闻疫情发布页来进行数据爬取分析。
网站分析:
使用chrome浏览器 打开疫情发布页网址?,如上图所示
https://news.qq.com/zt2020/page/feiyan.htm#/
按F12 进入开发者模式,按 ctrl+R 刷新页面
?在Network下找到 getOnsInfo?name=disease_h5列,获得爬取目标网址:https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5
02
爬取目标网站
我们写爬虫爬取网站数据,需要安装request库,安装命令如下:
pip3?install?requests
只需要三行代码就可以获取该网页内容,代码如下:
url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
req?=?requests.get(url=url)
content = json.loads(req.text)
打印爬去结果如下:
03
解析爬取内容
上述网站内容我们虽然爬取成功,接下来我们需要对爬取的结果进行解析,从中找出我们感兴趣的部分。
1)解析全国今日总况:
相应的解析代码如下:
def get_all_china(content):
tmp_data = content["data"]
area_data = json.loads(tmp_data)["areaTree"]
????country?=?area_data[0]
country_list = []
name = country["name"]
today_confirm = country["today"]["confirm"]
now_confirm = country["total"]["nowConfirm"]
total_confirm = country["total"]["confirm"]
????total_heal?=?country["total"]["heal"]
country_list.append([name, today_confirm, now_confirm, total_confirm, total_heal])
return country_list
打印结果如下:
输出太丑了,这里使用PrettyTable库对输出进行美化,代码如下:
def format_list_prettytable(title,province_list):
table = PrettyTable(title)
for province in province_list:
table.add_row(province)
table.border = True
return table
结果如下:
2)依次类推,可解析全国各省市疫情情况如下:
代码如下:
def get_all_province(content):
tmp_data = content["data"]
area_data = json.loads(tmp_data)["areaTree"]
data = area_data[0]['children']
province_list = []
for province in data:
name = province["name"]
today_confirm = province["today"]["confirm"]
now_confirm = province["total"]["nowConfirm"]
total_confirm = province["total"]["confirm"]
total_heal = province["total"]["heal"]
province_list.append([name, today_confirm, now_confirm, total_confirm, total_heal])
return province_list
结果如下:
3)最后,我们获取江苏省各地级市的疫情数据
代码如下:
def parse_jiangsu_province(content,key_province):
tmp_data = content["data"]
area_data = json.loads(tmp_data)["areaTree"]
data = area_data[0]['children']
city_list = []
for province in data:
name = province["name"]
if name == key_province:
children_list = province["children"]
for children in children_list:
city = children["name"]
today_new = children["today"]["confirm"]
now_confirm = children["total"]["nowConfirm"]
total_confirm = children["total"]["confirm"]
total_heal = children["total"]["heal"]
city_list.append([city, today_new, now_confirm, total_confirm, total_heal])
return city_list
结果如下:
04
使用matplotlib对上述爬去的江苏各地级市疫情分布可视化,得到结果如下:
今日新增可视化结果如下:
现有确诊可视化结果如下:
从上述图表可以看出,今日疫情已扩散至扬州,扬州今日新增感染人数最多,需引起重视。
注:完整代码获取,后台回复“疫情”。
- 莆田鞋公司级和纯原级区别大吗 莆田鞋拿货渠道,公认口碑最好的莆田微商(2024内附厂家篇)
- 莆田鞋丢人 莆田鞋拿货渠道,公认口碑最好的莆田微商(2024深度解读篇)
- 莆田纯原潮鞋的微博 莆田鞋拿货渠道,公认口碑最好的莆田微商(内附工厂信息)
- 莆田市城厢区张文富鞋面加工厂 莆田鞋拿货渠道,公认口碑最好的莆田微商(2024知识讲解篇)
- 莆田球鞋和真鞋材质 莆田鞋拿货渠道,公认口碑最好的莆田微商(内附商家信息)
- 莆田鞋到哪里购买 莆田鞋拿货渠道,公认口碑最好的莆田微商(2024莆田档口篇)
- 搜一下莆田鞋批发 莆田鞋拿货渠道,公认口碑最好的莆田微商(内附档口信息)
- 福建莆田货的鞋子 莆田鞋拿货渠道,公认口碑最好的莆田微商(2024莆田档口篇)