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之通过Python连接数据库
Oct 28 Python
pygame学习笔记(1):矩形、圆型画图实例
Apr 15 Python
编写Python脚本抓取网络小说来制作自己的阅读器
Aug 20 Python
Python爬取附近餐馆信息代码示例
Dec 09 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
Apr 29 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
Mar 18 Python
python实现简单学生信息管理系统
Apr 09 Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 Python
Python实现仓库管理系统
May 30 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中替换换行符的几种方法小结
2012/10/15 PHP
PHP删除指定目录中的所有目录及文件的方法
2015/02/26 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
运算符&&的三个不同层次
2013/04/07 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
Ubuntu系统下Angularjs开发环境安装
2016/09/01 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
vue项目打包后打开页面空白解决办法
2018/06/29 Javascript
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
深入浅析python定时杀进程
2016/06/06 Python
django模板语法学习之include示例详解
2017/12/17 Python
儿童编程python入门
2018/05/08 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
Python正则表达式和元字符详解
2018/11/29 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
总经理办公室主任岗位职责
2013/11/12 职场文书
工程业务员岗位职责
2013/12/31 职场文书
学校安全防火方案
2014/06/07 职场文书
董事长秘书工作职责
2014/06/10 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
学生吸烟检讨书
2014/09/14 职场文书
道士塔读书笔记
2015/06/30 职场文书
摘录式读书笔记
2015/07/01 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书