​前文

防护篇:
各自家庭聚团圆,不要外出相互窜。
注意洗手衣勤换,戴上口罩防感染。
野生动物传染源,千万不要因嘴馋。
每天食用调配餐,清热食物桌上端。
防寒添衣要保暖,通风透气舒适感。
清洁卫生干一干,适当运动多出汗。
若有不适测体温,指定医院随就诊。
非常时期莫怨烦,目标明确防扩散。
科学防护专家言,从我做起保平安。

最近江苏南京、湖南张家界陆续爆发疫情。作为一个张家界本地人,听到这个消息还是很震惊的。

身在长沙,作为兢兢业业的打工人,默默地为江苏、张家界加油打气,为了关注疫情状况,今天我们用python来爬一爬疫情的实时数据!!

​2.获取目标网站

为了使用python来获取疫情数据,我们需要找一个疫情实时追踪数据发布网站,国内比较有名的是腾讯新闻、网易新闻等,这些网站疫情内容都大同小异,主要包括国内疫情、海外疫情,每日新增确诊趋势,疫苗接种情况等,这里我们选用腾讯新闻疫情发布页来进行数据爬取分析。

网站分析:

  • 使用chrome浏览器 打开疫情发布页网址 。
  • 我们按F12 进入开发者模式,按 ctrl+R 刷新页面。
  • 在Network下找到 getOnsInfo?name=disease_h5列,获得爬取目标网址。

​​

3.爬取目标网站

我们写爬虫爬取网站数据,需要安装requests库,安装命令如下:

pip install  requests

如安装报错,超时,可以试试镜像源安装速度很快。

带豆瓣镜像源的安装:requests库

例如:豆瓣:http://pypi.douban.com/simple/

使用:pip install -i https://pypi.douban.com/simple/ requests

只需要三行代码就可以获取该网页内容,代码如下:

url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5' req = requests.get(url=url) content = json.loads(req.text)

打印之后爬取的效果:

​​

4.解析爬取内容

上述网站内容我们虽然爬取成功,接下来我们需要对爬取的结果进行解析,从中找出我们感兴趣的部分。

4.1. 解析全国今日总况

​​相应的解析代码如下:

def get_all_china(content):

tmp_data = content["data"]

area_data = json.loads(tmp_data)["areaTree"]

country = area_data[0] country_list = []

name = country["name"]

today_confirm = country["today"]["confirm"]

now_confirm = country["total"]["nowConfirm"]

total_confirm = country["total"]["confirm"]

total_heal = country["total"]["heal"] country_list.append([name, today_confirm, now_confirm, total_confirm, total_heal]) return country_list

打印结果如下:

​​

输出不行,这里使用PrettyTable库对输出进行美化,代码如下:

def format_list_prettytable(title,province_list):

table = PrettyTable(title) for province in province_list: table.add_row(province)

table.border = True return table

结果如下:

4.2. 解析全国各省份疫情情况

依次类推,可解析全国各省市疫情情况,代码如下:

def get_all_province(content):

tmp_data = content["data"]

area_data = json.loads(tmp_data)["areaTree"]

data = area_data[0]['children'] province_list = [] for province in

data: name = province["name"]

today_confirm = province["today"]["confirm"]

now_confirm = province["total"]["nowConfirm"]

total_confirm = province["total"]["confirm"]

total_heal = province["total"]["heal"]

province_list.append([name, today_confirm, now_confirm,

total_confirm, total_heal]) return province_list

结果如下:

​​

4.3. 解析江苏各地级市疫情情况

最后,我们获取江苏省各地级市的疫情数据,代码如下:

​​结果如下:

​​

5.结果可视化

使用matplotlib对上述爬去的江苏各地级市疫情分布可视化,得到结果如下:

今日新增可视化结果如下:

​​​​​​

现有确诊可视化结果如下:

​​

从上述图表可以看出,今日疫情已扩散至扬州,扬州今日新增感染人数最多,需引起重视。

结尾

完整的文章项目代码可以来小白解答学习的Python交流圈:959755565 大家一起学习、成长,Figthing!!

众志成城抗疫情:Python获取疫情实时数据!!相关推荐

  1. Python获取股票实时数据

    近期爬虫入门,简单搞了个小脚本经baidu查询指定股票代码的实时行情数据(好多网站禁了,所有走的baidu,原因就不细说了~~). 前期操作呢?当然是按部就班的一些列抓包,浏览器上F12就行了,找到对 ...

  2. 使用Python获取股票实时数据和历史数据

    决定新建一个专栏,专门研究股票数据的API接口. 由于不是混金融领域的人,百度调研了一会儿,没有找到合适的大公司维护的API接口. yahoo-finance · PyPI 这玩意架梯子都访问不到数据 ...

  3. Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI

    现在NBA联赛也进行到半决赛了,我们怎么样才能以更快的方法获取NBA的数据呢?这里我们就自己来做一个数据播报的程序 文章目录 制作NBA数据爬虫 捋顺思路 编写代码 NBAReporter.py NB ...

  4. python 股票实时数据接口_获取股票实时数据的接口

    记录下获取股票实时数据的接口,记录下. 以基金兴和500018为例 ****************************** 新浪的接口: http://hq.sinajs.cn/list=sh5 ...

  5. 用python读取股票价格_借助Python获取股票实时价格的操作方法

    今天和大家分享一下使用Python获取股票实时价格的操作方法. 工具/原料 Python软件 可以联网的电脑 方法/步骤 1 要想获取股票数据,我们需要借助第三方模块.我们首先需要打开开始菜单. 2 ...

  6. sentinel 端口_Sentinel原理:控制台是如何获取到实时数据的

    Sentinel 系列教程,现已上传到 github 和 gitee 中: GitHub: https://github.com/all4you/sentinel-tutorial Gitee: ht ...

  7. python 行情数据,拼多多股票:Python获取股票行情数据的一种方法

    Python获取股票行情数据的一种方法 拼多多股票 本号帮大家找了一个可免费获取股票行情数据的接口. Tushare社区目前主要维护新版本:tushare pro,数据更稳定拼多多股票质量更高,可获取 ...

  8. 为了提前预测比赛结果,于是我用Python获取比赛球员数据进行分析,结果...

    为了提前预测比赛结果,于是我用Python获取比赛球员数据进行分析,结果... 前因后果 准备工作 实现步骤 代码展示 部分效果展示 最后 前因后果 最近不是世界杯嘛,但是太忙了实在没时间看,于是为了 ...

  9. Python获取电子书籍数据

    Python获取电子书籍数据-以当当网为例 (一)以css方式获取 import requests,csv from bs4 import BeautifulSoup import codecs #自 ...

最新文章

  1. CmsEasy20160825前台无限制GetShell复现
  2. 【数据库】Redis/MongoDB/MySQL/Oracle随笔索引
  3. python函数与方法表,基于Python 函数和方法的区别说明
  4. Linux系统自动备份脚本,供参考的Linux系统中自动执行分段备份脚本
  5. HDOJ 1494 跑跑卡丁车
  6. java数学计算表达式_Java初学者:内建函数计算简单的数学表达式
  7. BufferedWriter 和 BufferedReader 的基本用法,附演示程序。以及一个复制文本文件的程序
  8. Java 多线程--- 创建线程、Thread类、synchronized
  9. 十大经典排序算法与算法复杂度
  10. 习题第一章 构造过程抽象
  11. Ubuntu java 环境变量
  12. Java中的拦截器和过滤器有什么区别
  13. Java暴力破解Wifi
  14. 转换、刻录DVD影碟光盘教程
  15. 云技术会颠覆IT平台吗?
  16. 毕业设计-基于SpringBoot幼儿园管理系统
  17. 安卓开发——拍照、裁剪并保存为头像报错:裁剪图片无法保存的
  18. 定积分求解方法——换元积分法
  19. Arm汇编学习笔记(一)——编写编译并执行简单汇编文件
  20. 【第1170期】如何看待员工跳槽

热门文章

  1. 学术论文投稿的小问题
  2. Python 在线与离线密码枚举
  3. win7桌面的计算机在哪里,win7桌面小工具在哪里
  4. 基于jsp的银行柜员业务绩效考核系统(含论文
  5. 生活中的定律之刺猬理念
  6. WPF学习:4.类型转换和标记扩展
  7. 解决sentinel结合nacos实现集群限流(嵌入式)
  8. MethodInfo类的一般使用
  9. 制约个人成长的15种能力
  10. centos桌面图标变小_如何使Windows桌面图标变大或变小