0
点赞
收藏
分享

微信扫一扫

疫情数据爬取

橙子好吃吗 2022-04-30 阅读 54
python

 获取数据

  • 导入用到的模块
# 请求网页
import requests
# 数据处理
import pandas as pd
# 日期处理
import time
  • 请求数据——封装函数只是为了帅
# 获取疫情数据函数
def getdata(url,headers):
    data = requests.get(url,headers)
    # print(data.status_code)#200
    # print(data.encoding)#utf-8
    # data.encoding = 'utf-8'
    return data

# 调用函数
url = 'https://api.inews.qq.com/newsqa/v1/query/inner/publish/modules/list?modules=statisGradeCityDetail,diseaseh5Shelf'
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 Edg/100.0.1185.29'}
data = getdata(url,headers)
# print(data.text)
  • 数据处理
# 寻找累计数据
china_data = data.json()['data']['diseaseh5Shelf']['areaTree'][0]['children']

# 存放数据
data_li = []
for child in china_data:
    # print(child['name'])
    data_dict = {}
    # 地区名称
    data_dict['province'] = child['name']
    # 新增确认
    data_dict['nowConfirm'] = child['total']['nowConfirm']
    # 死亡人数
    data_dict['dead'] = child['total']['dead']
    # 治愈人数
    data_dict['heal'] = child['total']['heal']
    # 累计确诊
    data_dict['confirm'] = child['total']['confirm']
    # 本土确诊
    data_dict['provinceLocalConfirm'] = child['total']['provinceLocalConfirm']
    # 死亡率
    data_dict['showRate'] = child['total']['showRate']
    # 治愈率
    data_dict['showHeal'] = child['total']['showHeal']
    # 无症状
    data_dict['wzz'] = child['total']['wzz']
    # print(data_dict)
    data_li.append(data_dict)

# print(data_li)
  • 存入csv文件
#转化为dataframe类型,根据当天时间命名csv文件
df = pd.DataFrame(data_li)
today = time.strftime('%Y年%m月%d日',time.localtime())
df.to_csv(today+'全国疫情累计数据.csv')
举报

相关推荐

0 条评论