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通过装饰器检查函数参数数据类型的方法
Mar 13 Python
对numpy的array和python中自带的list之间相互转化详解
Apr 13 Python
使用Python来开发微信功能
Jun 13 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
详解python中@的用法
Mar 27 Python
python数据挖掘需要学的内容
Jun 23 Python
Python编写带选项的命令行程序方法
Aug 13 Python
python 回溯法模板详解
Feb 26 Python
python画图常规设置方式
Mar 05 Python
python实现npy格式文件转换为txt文件操作
Jul 01 Python
详解python UDP 编程
Aug 24 Python
去除python中的字符串空格的简单方法
Dec 22 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+javascript模拟Matrix画面
2006/10/09 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
js 提交和设置表单的值
2008/12/19 Javascript
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
vue动态合并单元格并添加小计合计功能示例
2020/11/26 Vue.js
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
2020/01/18 Python
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
100%羊绒:NakedCashmere
2020/08/26 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
建筑设计师岗位职责
2013/11/18 职场文书
继承公证书
2014/04/09 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
婚庆司仪开场白
2015/05/29 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
校园安全学习心得体会
2016/01/18 职场文书
《我是什么》教学反思
2016/02/16 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
导游词之西递宏村
2019/12/10 职场文书
完美解决golang go get私有仓库的问题
2021/05/05 Golang
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis