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中使用sort()方法进行排序的简单教程
May 21 Python
Python模拟用户登录验证
Sep 11 Python
Python 实现网页自动截图的示例讲解
May 17 Python
Python错误处理操作示例
Jul 18 Python
python实现定时发送qq消息
Jan 18 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
线程安全及Python中的GIL原理分析
Oct 29 Python
python图形开发GUI库wxpython使用方法详解
Feb 14 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
python多次执行绘制条形图
Apr 20 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
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
php实现简单洗牌算法
2013/06/18 PHP
thinkPHP订单数字提醒功能的实现方法
2016/12/01 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
jQuery的强大选择器小结
2009/12/27 Javascript
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
JS实现获取剪贴板内容的方法
2016/06/21 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
动态创建类实例代码
2009/10/07 Python
python改变日志(logging)存放位置的示例
2014/03/27 Python
Python中的面向对象编程详解(上)
2015/04/13 Python
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
美国美妆网站:B-Glowing
2016/10/12 全球购物
德国网上药房:Apotal
2017/04/04 全球购物
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
个人年底工作总结
2015/03/10 职场文书
信息技术国培研修日志
2015/11/13 职场文书
Python Pygame实战之塔防游戏的实现
2022/03/17 Python