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编程中三条常用的技巧
May 11 Python
python实现用户登录系统
May 21 Python
Python备份目录及目录下的全部内容的实现方法
Jun 12 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 Python
高效测试用例组织算法pairwise之Python实现方法
Jul 19 Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 Python
Python使用folium excel绘制point
Jan 03 Python
PyQt5显示GIF图片的方法
Jun 17 Python
详解Python list和numpy array的存储和读取方法
Nov 06 Python
Python爬虫之Spider类用法简单介绍
Aug 04 Python
Python爬虫之自动爬取某车之家各车销售数据
Jun 02 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如何透过ODBC来存取数据库
2006/10/09 PHP
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
php选择排序法实现数组排序实例分析
2015/02/16 PHP
PHP时间类完整代码实例
2021/02/26 PHP
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
jQuery操作cookie方法实例教程
2014/11/25 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
[02:27]2018DOTA2亚洲邀请赛赛前采访-OpTic
2018/04/03 DOTA
深入理解Python中字典的键的使用
2015/08/19 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
解读! Python在人工智能中的作用
2017/11/14 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
Python通过Pillow实现图片对比
2020/04/29 Python
通过python-pptx模块操作ppt文件的方法
2020/12/26 Python
用Python实现职工信息管理系统
2020/12/30 Python
html5唤起app的方法
2017/11/30 HTML / CSS
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
素质教育标语
2014/06/27 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
文书工作总结(范文)
2019/07/11 职场文书