python爬取全国肺炎每日统计信息

统计自1.13以来全国肺炎人数的变化

数据展示
python爬取全国肺炎每日统计信息_第1张图片

数据源来自tx新闻的实时疫情新闻页面 网页链接
因为这个页面里面有一个chart,所以可以断定里面有我们想要的数据
找了找,在里面发现了一个API https://view.inews.qq.com/g2/getOnsInfo?name=wuwei_ww_cn_day_counts
里面的数据是json字典嵌套列表,列表里再嵌套字典的,所以接下来就是数据处理了

完整代码

import requests,re
import json
import csv

url = 'https://view.inews.qq.com/g2/getOnsInfo?name=wuwei_ww_cn_day_counts'
html = requests.get(url).text
unicodestr=json.loads(html)  //将string转化为dict
new_list = unicodestr.get("data")  //获取data中的内容,取出的内容为str

a = json.loads(new_list)  //对new_list再次进行load,使其变为dict才可使用


header = ['时间', '全国确诊人数', '全国疑似病例', '全国死亡人数', '全国治愈人数']
with open('./q_feiyan.csv', encoding='utf-8-sig', mode='w') as f: 
//编码utf-8后加-sig可解决csv中文写入乱码问题
    f_csv = csv.writer(f)
    f_csv.writerow(header)
f.close()

def save_data(data):
    with open('./q_feiyan.csv', encoding='UTF-8', mode='a+') as f:
        f_csv = csv.writer(f)
        f_csv.writerow(data)
    f.close()

b = len(a)
i = 0
while i<b:
    data = ("\t"+a[i]['date'])  // \t解决写入csv小数(日期)自动省略前后的0问题
    confirm = (a[i]['confirm'])
    suspect = (a[i]['suspect'])
    dead = (a[i]['dead'])
    heal = (a[i]['heal'])
    i+=1
    tap = (data, confirm, suspect, dead, heal)
    save_data(tap)

你可能感兴趣的:(python)