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基于select实现的socket服务器
Apr 13 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
python连接数据库的方法
Oct 19 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
Jun 20 Python
tensorflow实现逻辑回归模型
Sep 08 Python
在python中利用opencv简单做图片比对的方法
Jan 24 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 Python
Python可变和不可变、类的私有属性实例分析
May 31 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
Aug 30 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 Python
python 指定源路径来解决import问题的操作
Mar 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常用代码大全(新手入门必备)
2010/06/29 PHP
javascript,php获取函数参数对象的代码
2011/02/03 PHP
PHP依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
数组任意位置插入元素,删除特定元素的实例
2017/03/02 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
PHP实现的杨辉三角求解算法分析
2019/03/11 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
JavaScript模块详解
2017/12/18 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
node.js爬取中关村的在线电瓶车信息
2018/11/13 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
Python程序中的观察者模式结构编写示例
2016/05/27 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
Python单元测试简单示例
2018/07/03 Python
详解Python3中ceil()函数用法
2019/02/19 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
keras多显卡训练方式
2020/06/10 Python
Selenium 安装和简单使用的实现
2020/12/04 Python
经济职业学院毕业生自荐书
2014/03/17 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL