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中变量的作用域
Jun 16 Python
浅谈numpy库的常用基本操作方法
Jan 09 Python
用Python进行简单图像识别(验证码)
Jan 19 Python
Python根据已知邻接矩阵绘制无向图操作示例
Jun 23 Python
在cmder下安装ipython以及环境的搭建
Oct 19 Python
python Selenium实现付费音乐批量下载的实现方法
Jan 24 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
Aug 13 Python
关于python 跨域处理方式详解
Mar 28 Python
python2和python3哪个使用率高
Jun 23 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 24 Python
python 调用Google翻译接口的方法
Dec 09 Python
Python入门之基础语法详解
May 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 面向对象 PHP5 中的常量
2010/05/05 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
用javascript实现画板的代码
2007/09/05 Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
2011/04/07 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
原生JavaScript实现Ajax异步请求
2017/11/19 Javascript
React服务端渲染原理解析与实践
2021/03/04 Javascript
解析Python中的异常处理
2015/04/28 Python
简单介绍Python中的round()方法
2015/05/15 Python
举例详解Python中yield生成器的用法
2015/08/05 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
python pytest进阶之xunit fixture详解
2019/06/27 Python
python自定义时钟类、定时任务类
2021/02/22 Python
python脚本后台执行方式
2019/12/21 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
精细化工应届生求职信
2013/11/17 职场文书
承认错误的检讨书
2014/01/30 职场文书
党员批评与自我批评
2014/02/12 职场文书
教师一岗双责责任书
2014/04/16 职场文书
小学二年级评语
2014/04/21 职场文书
客房领班岗位职责
2015/02/11 职场文书
利用Python读取微信朋友圈的多种方法总结
2021/08/23 Python
Python实现位图分割的效果
2021/11/20 Python
linux下安装redis图文详细步骤
2021/12/04 Redis