疫情信息获取。

2023-11-09

爬取目标:腾讯新闻,疫情数据。

确定信息。

在目标网页按F12,在全局数据中寻找,发现有目标数据。接下来在Network中寻找数据并在Headers中获得链接地址。也可以点击搜索查找(较为方便)(省份数据和全球数据也是同样的方法)(注意图二)

最终确定国内数据在https://api.inews.qq.com/newsqa/v1/query/pubished/daily/list?

编写代码

导入库

import json
import requests#爬虫模块
import pandas as pd #数据处理模块

爬取程序。

# 全国疫情数据
chinatotal_url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_other'
chinatotal_h5_url = "https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5"
# 省区信息请求网址
province_city_url = "https://view.inews.qq.com/g2/getOnsInfo?name=wuwei_ww_city_list_order"

def getChinaTotalData(chinatotal_url):
    response = requests.get(chinatotal_url).json()  # 发出请求并json化处理
    #不要反复获取,访问太频繁可能会被识别出来
    data = json.loads(response['data'])
    return data

def getChinaAbsData(chinatotal_h5_url):
    response = requests.get(chinatotal_h5_url).json()
    data = json.loads(response['data'])
    return data['chinaTotal']

def getProvinceTotalData(chinatotal_h5_url):
    response = requests.get(chinatotal_h5_url).json()
    data = json.loads(response['data'])
    areaTree = data['areaTree'][0]['children']
    return areaTree


all_data = getChinaTotalData(chinatotal_url)
abs_data = getChinaAbsData(chinatotal_h5_url)

# 获取从1月03日起的一系列累计数据(网站仅提供最近三十天的数据)
chinaDayList = all_data["chinaDayList"]
date_list1 = list()
year_day_list1 = list()
total_confirm = list()
total_suspect = list()
total_dead = list()
total_heal = list()
total_importedCase = list()
for total in chinaDayList:
    #date_list1.append(total['date'][:2] + "/" + total['date'][3:])
    year_day_list1.append(total["y"]+"/"+total['date'][:2] + "/" + total['date'][3:])
    total_confirm.append(int(total['confirm']))
    total_suspect.append(int(total['suspect']))
    total_dead.append(int(total['dead']))
    total_heal.append(int(total['heal']))
    total_importedCase.append(int(total['importedCase']))



# 获取从1月03日起的一系列每日数据
chinaDayAddList = all_data["chinaDayAddList"]
date_list2 = list()
everyday_confirm = list()
everyday_suspect = list()
everyday_dead = list()
everyday_heal = list()
everyday_importedCase = list()
for everyday in chinaDayAddList:
    date_list2.append(everyday["y"]+"/"+everyday['date'][:2] + "/" + everyday['date'][3:])
    everyday_confirm.append(int(everyday['confirm']))
    everyday_suspect.append(int(everyday['suspect']))
    everyday_dead.append(int(everyday['dead']))
    everyday_heal.append(int(everyday['heal']))
    everyday_importedCase.append(int(everyday['importedCase']))


areaTree = getProvinceTotalData(chinatotal_h5_url)
province_name = list()
province_total_confirm = list()
province_total_suspect = list()
province_total_dead = list()
province_total_heal = list()
province_today_confirm = list()

for province in areaTree:
    province_name.append(province['name'])
    province_total_confirm.append(province['total']['confirm'])
    province_today_confirm.append(province['today']['confirm'])
    #province_total_suspect.append(province['total']['suspect'])
    province_total_dead.append(province['total']['dead'])
    province_total_heal.append(province['total']['heal'])


将数据转化为表格(pandas)。

china_total_data = pd.DataFrame({
    '日期':year_day_list1 , 
    '累计确诊': total_confirm, 
    '疑似病例': total_suspect, 
    '累计死亡': total_dead, 
    '累计治愈': total_heal, 
    '累计境外输入病例': total_importedCase, 
})
china_total_data.tail(10)


china_daily_data = pd.DataFrame({
    '日期': date_list2, 
    '今日确诊': everyday_confirm, 
    '疑似病例': everyday_suspect, 
    '今日死亡': everyday_dead, 
    '今日_治愈': everyday_heal, 
    '今日_境外输入病例': everyday_importedCase, 
})
china_daily_data.tail()

province_total_data = pd.DataFrame({
    '省份': province_name,
    '今日新增':province_today_confirm,
    '累计确诊': province_total_confirm,
    #'疑似': province_total_suspect,
    '死亡': province_total_dead,
    '治愈': province_total_heal,
})
province_total_data.head()

文件展示

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

疫情信息获取。 的相关文章

随机推荐

  • 2013年11月22日星期五(T3DLIB1剩余---1)

    现在进行T3DLIB的残余 define SCREEN DARKNESS 0 define SCREEN WHITENESS 1 define SCREEN SWIPE X 2 define SCREEN SWIPE Y 3 define
  • 【计算机网络】物理层:物理层要解决哪些问题?

    物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流 而不是具体的传输媒体 现有的计算机网络中的硬件设备和传输媒体的种类非常繁多 而通信手段也有许多不同方式 物理层的作用是尽可能屏蔽这些差异 使物理层上面的数据链路层感觉不到这些
  • iptables需求:开启防火墙:可以正常使用ssh服务,dns服务, httpd服务,chrony服务, nfs服务安装

    1 iptables需求 开启防火墙 可以正常使用ssh服务 dns服务 httpd服务 chrony服务 nfs服务 安装 yum install y iptables services 关闭firewalld 开启iptables sy
  • git的代码撤销步骤

    工作区的代码撤销 1 git status 查看哪些文件是修改过的 2 git checkout 文件路径 让这个文件回到最近一次git commit或git add时的状态 git add到暂存区的代码要撤销 1 git reset HE
  • 时序预测

    时序预测 MATLAB实现基于GRU门控循环单元的时间序列预测 递归预测未来 多指标评价 目录 时序预测 MATLAB实现基于GRU门控循环单元的时间序列预测 递归预测未来 多指标评价 预测结果 基本介绍 模型结构 程序设计 参考资料 预测
  • MySQL数据库、表常用命令

    目录 一 数据库分类 1 关系型数据库 2 非关系型数据库 二 MySQL相关基础 三 MySQL数据库基础操作 1 显示数据库 2 创建数据库 3 删除数据库 4 使用数据库 四 常用数据类型 1 数值类型 2 字符串类型 3 日期类型
  • 【C51】单片机芯片之——图解74HC595

    第一部部分用于快速查阅使用 详细的使用见文章第二部分 引脚图 14脚 DS SER 串行数据输入引脚 13脚 OE 输出使能控制脚 它是低电才使能输出 所以接GND 12脚 RCK 存储寄存器时钟输入引脚 上升沿时 数据从移位寄存器转存带存
  • Maven依赖冲突

    An attempt was made to call a method that does not exist 依赖冲突完整报错如下 Description An attempt was made to call a method tha
  • 字符串04--左旋转字符串

    字符串04 左旋转字符串 jz43 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 汇编语言中有一种移位指令叫做循环左移 ROL 现在有个简单的任务 就是用字符串模拟这个指令的运算结果 对于一个给定的字符序列S 请你把其循环左
  • express和koa中的超时处理

    从某个话题中得到的灵感 这里做一个分享 http cnodejs org topic 592fdc2f03dba3510d8a62a0 59364c3b538dbcaa6bc7dd48 楼主遇到一个问题 如何管理express中的超时 ex
  • BigDecimal 精度问题

    BigDecimal 精度问题 在使用BigDecimal过程中 暂时遇到两个问题 都是精度问题 一个是精度丢失 一个是精度显示问题 精度丢失 BigDecimal创建对象有很多种方式 通过double类型去声明bigdecimal对象时
  • Hyperledger Fabric架构设计

    目录 1 逻辑架构 答疑 什么叫做背书策略 2 运行时架构 答疑 什么是锚节点 1 逻辑架构 Hyperledger Fabric从1 X开始 在扩展性及安全性方面有了很大的提升 且新增了诸多特性 多通道 支持多通道 提高隔离安全性 可插拔
  • Diffusion Models 简单代码示例

    一 关于Diffusion 模型的简单介绍 首先diffusion模型和VAE Flow Gan等模型类似 均属于生成模型 可以和GCN CNN等其他深度学习网络相结合 完成特定的生成任务 如下图 基于 GAN 生成模型 基于 VAE 的生
  • 卷积核的类型及其作用

    目录 一 堆叠小卷积核 1 为什么要用大卷积核代替小卷积核 2 为什么堆叠小卷积核参数量要比大卷积核少 3 输入输出图片通道数一致时堆叠小卷积核参数量才更小 4 感受野计算 二 空洞卷积 能否让固定大小的卷积核看到更大范围的区域 三 非对称
  • c语言中的std模版用法,C++模板template用法小结(推荐)

    引言 模板 Template 指C 程序设计设计语言中采用类型作为参数的程序设计 支持通用程序设计 C 的标准库提供许多有用的函数大多结合了模板的观念 如STL以及IO Stream 函数模板 在c 入门中 很多人会接触swap int i
  • vue的安全隐患(一)

    vue安全方面的知识 第一原则永远不要使用不信任的模板 在vue中使用不信任的模板这等于允许在应用程序中执行任意的javascript代码 甚至更糟糕的是服务器可能会被攻破 比如在 template sertppp 不要这样做因为vue的模
  • 强化学习的几种环境介绍

    前言 对于强化学习相关的几种环境介绍 主要包括Mini world Gym maze Grid world gym minigrid Mini world https github com maximecb gym miniworld Mi
  • 用c语言设计加减乘除自动出题程序,用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除....

    include include stdlib h define N 10 void fun int a b t char c scanf d a scanf c c scanf d b if c c c c c if c t a b if
  • 关于unique case和priority case语法

    SystemVerilog对于case casez casex语句新增了两个特殊的修饰符 unique及priority 其语法规则如下 unique case
  • 疫情信息获取。

    爬取目标 腾讯新闻 疫情数据 确定信息 在目标网页按F12 在全局数据中寻找 发现有目标数据 接下来在Network中寻找数据并在Headers中获得链接地址 也可以点击搜索查找 较为方便 省份数据和全球数据也是同样的方法 注意图二 最终确