python 爬取疫情数据的源码


Posted in Python onFebruary 09, 2020

疫情数据

python 爬取疫情数据的源码

程序源码

// An highlighted block
import requests
import json
class epidemic_data():
  def __init__(self, province):
    self.url = url
    self.header = header
    self.text = {}
    self.province = province
    # self.r=None
  def down_page(self):
    r = requests.get(url=url, headers=header)
    self.text = r.text
    # self.r = r
  def parse_page(self):
    # print(type(self.r.json()['data']))
    # 因为解析数据为 data 前有一个"",所以数据类型为string
    data_str = json.loads(self.text)['data'] #sring
    # print(type(data_dict))
    # print(type(data_dict['data']))
    # 将str 转化为对象
    data_json = json.loads(data_str)
    data_tree_dict = data_json['areaTree'][0]['children'] # 取中国的省列表
    prt_str = []
    prt_str.append("数据更新时间:"+data_json['lastUpdateTime'])
    prt_str.append("全国" + ":" + "累计确诊病例:" + str(data_json['chinaTotal']['confirm']) + \
            "累计疑似病例:" + str(data_json['chinaTotal']['suspect']) + \
            "累计死亡病例:" + str(data_json['chinaTotal']['dead']) + \
            "累计出院病例:" + str(data_json['chinaTotal']['heal']) + \
            "今日新增确诊病例:" + str(data_json['chinaAdd']['confirm']) + \
            "今日新增疑似病例:" + str(data_json['chinaAdd']['suspect']) + \
            "今日新增死亡病例:" + str(data_json['chinaAdd']['dead']) + \
            "今日新增出院病例:" + str(data_json['chinaAdd']['heal']))
    for province_list in data_tree_dict:
      for provice_name in self.province:
        if provice_name in province_list['name']:
          city_list = province_list['children']
          prt_str.append(province_list['name'] + ":" + "累计确诊病例:" + str(province_list['total']['confirm']) + \
                    "累计死亡病例:" + str(province_list['total']['dead']) + \
                    "累计出院病例:" + str(province_list['total']['heal']) + \
                    "今日新增确诊病例:" + str(province_list['today']['confirm']) + \
                    "今日新增死亡病例:" + str(province_list['today']['dead']) + \
                    "今日新增出院病例:" + str(province_list['today']['heal']))
          if provice_name == '山东':
            for data_dict in city_list:
              prt_str.append(data_dict['name'] + ":" + "累计确诊病例:" + str(data_dict['total']['confirm']) + \
                      "累计死亡病例:" + str(data_dict['total']['dead']) + \
                      "累计出院病例:" + str(data_dict['total']['heal']) + \
                      "今日确诊病例:" + str(data_dict['today']['confirm']) + \
                      "今日死亡病例:" + str(data_dict['today']['dead']) + \
                      "今日出院病例:" + str(data_dict['today']['heal']))
    for item in prt_str:
      print(item)
    a = data_tree_dict
    # print(type(data_tree_dict['chinaTotal']))
    # print(data_tree_dict.keys())
  def write_page(self):
    pass
  def show(self):
    pass
  def show(self):
    self.down_page()
    self.parse_page()
if __name__ == '__main__':
  url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
  header = {
    'user - agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
  }
  province = ['湖北','山东']
  wf = epidemic_data(province)
  wf.show()

总结

以上所述是小编给大家介绍的python 爬取疫情数据的源码,希望对大家有所帮助!

Python 相关文章推荐
Python Web框架Flask中使用七牛云存储实例
Feb 08 Python
Python实现设置windows桌面壁纸代码分享
Mar 28 Python
python基于xmlrpc实现二进制文件传输的方法
Jun 02 Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 Python
使用python读取txt文件的内容,并删除重复的行数方法
Apr 18 Python
解决Python requests库编码 socks5代理的问题
May 07 Python
树莓派与PC端在局域网内运用python实现即时通讯
Jun 22 Python
10款最好的Python开发编辑器
Jul 03 Python
python 给图像添加透明度(alpha通道)
Apr 09 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
Dec 11 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 Python
python代码如何实现余弦相似性计算
Feb 09 #Python
python字符串替换re.sub()实例解析
Feb 09 #Python
Python随机数函数代码实例解析
Feb 09 #Python
Python如何访问字符串中的值
Feb 09 #Python
python3 字符串知识点学习笔记
Feb 08 #Python
python入门之基础语法学习笔记
Feb 08 #Python
python实现飞机大战游戏(pygame版)
Oct 26 #Python
You might like
php 数据库字段复用的基本原理与示例
2011/07/22 PHP
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
php中文乱码问题的终极解决方案汇总
2017/08/01 PHP
PHP实现简易图形计算器
2020/08/28 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
JS学习之一个简易的日历控件
2010/03/24 Javascript
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python反射用法实例简析
2017/12/22 Python
python3下实现搜狗AI API的代码示例
2018/04/10 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
int在python中的含义以及用法
2019/06/27 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
最新奶茶店创业计划书范文
2014/02/08 职场文书
给小学生的新年寄语
2014/04/04 职场文书
信息技术课后反思
2014/04/27 职场文书
Mysql中常用的join连接方式
2022/05/11 MySQL