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 相关文章推荐
python3使用tkinter实现ui界面简单实例
Jan 10 Python
Python3.x中自定义比较函数
Apr 24 Python
Python制作爬虫采集小说
Oct 25 Python
Python KMeans聚类问题分析
Feb 23 Python
解决Tensorflow安装成功,但在导入时报错的问题
Jun 13 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
opencv导入头文件时报错#include的解决方法
Jul 31 Python
Python获取对象属性的几种方式小结
Mar 12 Python
python 使用elasticsearch 实现翻页的三种方式
Jul 31 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
Sep 25 Python
Django集成MongoDB实现过程解析
Dec 01 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 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中使用Oracle数据库(4)
2006/10/09 PHP
php stream_get_meta_data返回值
2013/09/29 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
php和asp语法上的区别总结
2019/05/12 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
Javascript delete 引用类型对象
2013/11/01 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
用javascript对一个json数组深度赋值示例
2014/07/27 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
2016/04/12 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
详解Python3中的 input() 函数
2020/03/18 Python
宾馆总经理岗位职责
2014/02/14 职场文书
新品发布会主持词
2014/04/02 职场文书
文明村镇申报材料
2014/05/06 职场文书
微笑服务演讲稿
2014/05/13 职场文书
档案保密承诺书
2014/06/03 职场文书
财务整改报告范文
2014/11/05 职场文书
免职通知
2015/04/23 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
五一放假通知怎么写
2015/08/18 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书