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 selenium文件上传方法汇总
Nov 19 Python
简单了解Python中的几种函数
Nov 03 Python
python利用requests库进行接口测试的方法详解
Jul 06 Python
python中字符串内置函数的用法总结
Sep 13 Python
详解python中的Turtle函数库
Nov 19 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
Python3.5集合及其常见运算实例详解
May 01 Python
在keras下实现多个模型的融合方式
May 23 Python
keras 实现轻量级网络ShuffleNet教程
Jun 19 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 Python
python处理json数据文件
Apr 11 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/07/17 PHP
php空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
PHP容易被忽略而出错陷阱 数字与字符串比较
2011/11/10 PHP
一致性哈希算法以及其PHP实现详细解析
2013/08/24 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
PHP单链表的实现代码
2016/07/05 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
javascript实现倒计时效果
2020/02/17 Javascript
python下如何让web元素的生成更简单的分析
2008/07/17 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
python类的实例化问题解决
2019/08/31 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
怎样声明一个匿名的内部类
2016/06/01 面试题
仪器仪表检测毕业生自荐信
2013/10/31 职场文书
写好自荐信的要点
2013/11/06 职场文书
关于母亲节的感言
2014/02/04 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
自查自纠整改报告
2014/11/06 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript