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网络编程示例(客户端与服务端)
Apr 24 Python
使用Python开发windows GUI程序入门实例
Oct 23 Python
Python使用Supervisor来管理进程的方法
May 28 Python
详解Django中的过滤器
Jul 16 Python
利用Python实现图书超期提醒
Aug 02 Python
django基础之数据库操作方法(详解)
May 24 Python
python实现音乐下载的统计
Jun 20 Python
微信公众号token验证失败解决方案
Jul 22 Python
Python爬取豆瓣视频信息代码实例
Nov 16 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
5分钟快速掌握Python定时任务框架的实现
Jan 26 Python
python 实现图与图之间的间距调整subplots_adjust
May 21 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
提问的智慧
2006/10/09 PHP
层叠菜单的动态生成
2006/10/09 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
完美解决axios跨域请求出错的问题
2018/02/05 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
vue组件开发之slider组件使用详解
2020/08/21 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python之os操作方法(详解)
2017/06/15 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python 多线程重启方法
2019/02/18 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
Python Django基础二之URL路由系统
2019/07/18 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
pandas分批读取大数据集教程
2020/06/06 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
.NET初级开发工程师面试题
2014/04/18 面试题
C#实现启动一个进程
2016/10/01 面试题
自我鉴定范文200字
2013/10/02 职场文书
公司营业员的工作总结自我评价
2013/10/05 职场文书
社区食品安全实施方案
2014/03/28 职场文书
2015年七一建党节慰问信
2015/03/23 职场文书
阿甘正传观后感
2015/06/01 职场文书
javaScript Array api梳理
2021/03/31 Javascript