admin 管理员组文章数量: 1184232
2024年4月16日发(作者:全网码商发卡网)
基于Python的疫情数据的爬取与分析
作者:谭康裕 赵元成
来源:《科学导报·学术》2020年第30期
摘 要:目的:直观显示新型冠状病毒(2019-nCoV)肺炎疫情的发展趋势,为复工复产的
决策提供决策依据。方法:基于Python语言、使用requests库下载网页,使用re读取目标数
据,使用csv存储目标数据、使用pyecharts展示疫情地图分布和疫情发展趋势图、使用
Javascript脚本显示趋势图,包括疫情的地图分布,全国疫情新增趋势,全国累计/疑似趋势,
全国累计治愈/死亡趋势,全国各省疫情概览表等。结果:得到疫情发展趋势的可视化图表,
可以直观显示疫情的发展趋势,全国各省疫情概览表等。我们可以看到,疫情已经趋于平稳。
结论:2019-nCoV肺炎疫情的防控措施是有效的,各地方政府严格执行公共安全政策,保证了
人民的生命安全,全力遏制了2019-nCoV的传播,夺取了战“疫”的最终胜利。
关键词:新型冠状病毒;Python;数据可视化;趋势
新型冠状病毒(2019-nCoV)是一种β属的冠状病毒,自2019年12月在湖北省武汉市发
现 2019-nCoV以来,疫情快速蔓延[1]。国家卫生健康委员会疫情通报显示,截至 2020年4月
25日早上9点,累计确诊人数 82816人,累计治愈出院病例77346例,累计死亡病例4632例
[2]。为快速抑制病情蔓延,国家已出台多种举措,如延长春节假期、企业延迟复工、学校延
期开学、限制出行、公共场所要佩戴口罩,居家隔离等。本文基于Python,通过网络爬虫技术
收集2019-nCoV疫情数据,通过数据可视化手段,给出疫情的地图分布,全国疫情新增趋
势,全国累计/疑似趋势,全国累计治愈/死亡趋势,全国实时疫情概览表等。
1 对象与方法
1.1 数据来源
本文疫情发展数据取自中国疾病预防控制中心周报(以下简称中国疾控中心周报)和丁香
园,其地址参看“参考文献”中的[2]和[3]。随着2019-nCoV的快速传播,自1月25日开始,各
地纷纷启动“重大突发公共卫生事件Ⅰ级响应”,因此我们认定从1月25 日开始,病毒即进入
传播状态。由于数据是从中国疾病预防控制中心周报中读取,比较完整的数据是从1月29日
开始,因此,本次采集的数据就是从1月29日开始,直至4月25日零点。
1.2 疫情数据提取的需求
设计疫情数据提取的代码要解决的以下几个问题:
(1)下载网页:根据给定的URL下载其HTML网页。
(2)网页解析:根据网页结构信息,提取网页数据。
(3)数据存储:把从网页中解析出来的数据CSV文件中。
1.3 疫情数据提取的實现方法
(1)HTML下载器
本次设计使用requests库和requests-html库来下载网页,分别使用requests来下载中国疾
病预防控制中心周报的数据,使用requests-html来下载丁香园的数据。使用requests-html下载
网页的核心代码如下所示:
import requests
url = 'http:///news/'
r = (url) #下载网页
使用requests-html下载网页的核心代码如下所示:
from requests_html import HTMLSession
dxyurl = 'https:///newh5/view/pneumonia'
response = (dxyurl) #下载网页
(2)HTML解析器
Python使用BeautifulSoup来进行HTML的解析,提取目标数据。在中国控制中心周报
中,我们使用BeautifulSoup直接读取其注释部分,而不是按行读取目标数据所在的XPath。在
中国控制中心周报网页中,目标文本是位于标签
本。通过分析中国控制中心周报网页数据结构,我们可以通过分割
标签,同时为了数据的提取,还要把
标签添加回原来的数据项中。提取数据的代码如下:soup = BeautifulSoup(page,'')
content = _all("div",'box-article-content') #数据返回为列表
content_to_string = str(content) #将列表转换成字符串,使用正则表达式提取
pattern = e(r"<!--(.*?)-->") # 抽取<!--(.*?)-->中间的文本
通过构建正则表达式,提取网页中的疫情数据。提取的疫情数据分别为日期、新增确诊/
疑似病例、累计确诊/现存疑似病例、新增死亡/治愈人数、累计死亡/治愈人数。其正则表达式
的构建如下所示:
date_regex = r"(.*?)<" #提取日期的正则表达式
conf_suspe_data_regex = r"
Confirmed cases:(.*?)new,(.*?)total. Suspected
cases:(.*?)new,(.*?)total.<" #提取新增确诊/疑似病例、累计确诊/现存疑似病例的正
则表达式
dea_reco_data_regex = r"
Deaths:(.*?)new,(.*?)total. Recoveries:(.*?)
new,(.*?)total.<" #提取新增死亡/治愈人数、累计死亡/治愈人数的正则表达式
在丁香园的网页中,通过查看网页元素,我们可以看到,目标数据在标签
这部分需要在后端代码中添加相应的文件路径,实现前后端的关联。在根目录处需要添加
文件其核心代码如下的示:
@("/")
def index():
content = table_base()
return render_template("",content=content)
使用pyecharts用于生成 Echarts 图表之后,也要添加相应的URL才能展示在前端上,其
核心代码如下所示:
@("/mapChart") #对应文件添加URL,此处文件为中国地图
def get_map_chart( ):
c = map_base( )
return _options_with_quotes( )
对于其他使用pyecharts生成的图表,包括新增死亡/治愈、累计确诊/疑似、累计死亡/治愈
的发展曲线,都是使用前后端关联的方法,展示到前端页面上,使结果直观呈现出来。
3 结果
3.1 全国疫情地图分布
使用pyecharts生成的地图信息如下,从图中我们可以看到省份在这次疫情中的数据分
布,本次采集显示的数据分别为确诊人数、治愈人数和死亡人数。
3.2 全国新增确诊/疑似发展曲线
使用pyecharts生成的新增确诊/疑似发展曲线如下图所示:
4 讨论
本文应用Python进行对数据的爬取,根据中国疾控中心周报和丁香园中的数据生成显示
图表,得出本次疫情相关数据的走势图,并结合实际生活中情况,可以看到:在春运的期间,
新冠病毒在人口迁移过程中出现大规模的传播。经过3个多月的抗“疫”战争,病毒被成功遏
制,处于可控范围内,为世界防疫工作做出了一个典范,但防疫工作仍不可松懈,在常态化的
防控疫情的情况下,继续要严格依照国家公共卫生政策,做好持久化防疫的做准备,守住抗
“疫”胜利的果实。
参考文献
[1] 耿辉,徐安定,王晓艳,张勇,尹小妹,马茂,吕军.基于SEIR模型分析相关干预措
施在新型冠状病毒肺炎疫情中的作用[J/OL].暨南大学学报(自然科学与医学版):1-7[2020-
04-26].http:///kcms/detail/.
[2] 中国疾病预防控制中心.CCDCWeekly[EB/OL].[2020-0426].http:
///news/.
[3] 丁香园. [EB/OL].[2020-04-26].https:///ncovh5/view/pneumonia.
[4] 范传辉. Python爬虫开发与项目实践[M].北京:机械工业出版社. 2017.6:140-146
版权声明:本文标题:基于Python的疫情数据的爬取与分析 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713207530a623934.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
更多相关文章
7月22日:网约车行业的新挑战:司机违规使用‘作弊器’
前言:提取了一些某音视频的干货文案,分享给大家原视频3.53 0116 F@U.yG ATl: 2024年7月22日信息差丨网约车司机使用“作弊器” # 热点新闻事件# 每日新闻复制此链接,打开Dou音
即时更新:厂里Flash中心的最热文章,深度剖析Adobe Flash Player的前沿技术
1 今日内容 1.1 定时计算与实时计算 1.2 今日内容 kafkaStream 什么是流式计算 kafkaStream概述 kafkaStream入门案例
掌握SWF文件,驾驭Adobe Flash Player的无限可能
一、Application Data简介Applicaion Data相当于桌面应用的注册表,存储一些用户配置信息,如运行时状态,用户喜好等,需要注意的时, 当卸载应用时,这些数据会被删除,所以不要存储重要数
Adobe Flash Player与SWF:一段从技术到应用的旅程
一、Application Data简介Applicaion Data相当于桌面应用的注册表,存储一些用户配置信息,如运行时状态,用户喜好等,需要注意的时, 当卸载应用时,这些数据会被删除,所以不要存储重要数
Go与Linux通信基础:strace与read操作的深入解读
大家好,我是码农先森。 前言 各种编程语言百花齐放、百家争鸣,但是 “万变不离其中”。对于网络通信而言,每一种编程语言的实现方式都不一样;但其实,调用的底层逻辑都是一样的。linux 系统底层向上提供了统一的 Sock
启动之路:深入ARM I.MX6ULL的内部机制 - 内部BOOT ROM、IVT、Boot Data、DCD与led.bin揭秘
参考:Linux之ARM(IMX6U)裸机之I.MX6ULL镜像烧写以及启动头文件的详解作者:一只青木呀发布时间: 2020-08-09 17:10:00网址:BOOT R
“Mac用户福音!忘记管理员密码?这里有快速解决方法!”
在使用Mac电脑时,为了安全很多用户通常都会设置管理员密码。不过如果不小心忘记Mac管理员密码怎么办?幸运的是,有些方法可以重置Mac密码并重新获得访问权限。下面小编就教给大家几种重置用户密码的方法。未开启FileVaul
InnoSetup制作安装包(EXE)_inno setup打包一个exe
功能描述 1.666666.war为项目war包,666666.bat为启动war包脚本,通过InnoSetup将它们打包到安装包666666.exe2.666666.exe安装包安装过程中将666666.bat注册为自启动
7z.dll 100%卡顿?找回《穿越火线》安装进程的策略_抽取7z.dll100%不动了
如果在安装《穿越火线》(CrossFire,简称CF)时卡在了7z.dll的解压进度达到100%,这通常表示游戏安装程序正在使用7-Zip库来解压缩游戏文件,而这一过程可能由于各种原因变得异常缓慢或停滞。要解决这个问题,可以尝试以下几
React-ScrollLock 使用教程
React-ScrollLock 使用教程 1. 项目介绍 React-ScrollLock 是一个轻量级、高性能的 React 组件,用于在弹出框或模态窗口打开时防止页面背景滚动。它巧妙地解决了 Web 应用中常见的
如何轻松强制删除电脑上的文件_强制删除电脑文件
有时,文件无法通过常规方法删除,可能是因为它们正在使用、已损坏或受到保护。遇到这种情况,您需要强制删除文件的方法。别担心,本指南将通过以下分步说明,告诉您如何在 Windows 或 Mac 电脑上强制删除文件。 第一部分:如何
windows系统下快速删除海量小文件方法_windows快速删除大量文件
使用windows命令行工具(DOS指令)来处理。 1、使用del命令删除文件del只删除文件夹里的文件,文件夹不删。 del fsq dirname附del的参数 P 删除每一个文件之前提
使用python-pptx修改幻灯片背景:设置或更改幻灯片的背景颜色和图片_python-pptx设置背景图片
哈喽,大家好,我是木头左!一个美观、专业的背景可以让整个PPT看起来更加高级,更能吸引观众的注意力。那么,如何使用Python来修改PPT的背景呢?本文将介绍如何使用python-pptx库来设置或更改幻灯片的背景颜
QQ秘籍
1。号码被盗后,如何恢复以前的好友名单:以前的号码假设为AA,申请一个新的QQ号码,假设BB号。打开QQ目录,在以AA号码命名的文件夹中找到user.db文件,然后覆盖粘贴至BB号码所在的文件夹中(复制前先备份此文件);
如何查看电脑刷新率_怎么看显卡支持的刷新率
Windows 系统 通过显示设置查看:右键点击桌面空白处,选择 “显示设置”。 在打开的窗口中,找到 “高级显示设置”。 点击 “显示适配器属性
穿越火线烟雾透视源码技术解析与风险警示
简介:“CF调烟雾透源码”指通过修改《穿越火线》(CrossFire)游戏客户端实现烟雾透视效果的技术,通常利用内存注入、函数钩取等手段篡改烟雾渲染逻辑,达到在烟雾中看清敌人的目的。此类行为属于游戏作弊,涉及客户端篡改、反作弊系统绕过
老光盘里的 VOB 视频转成 MP4 最简单、最稳定的方法_vob怎么转换成mp4格式 ffmpeg
要把老光盘里的 VOB 视频转成 MP4,最简单、最稳定的方法就是 使用 FFmpeg或 HandBrake。下面是两种方法,任选一种即可。 ✅ 方法一:
Qt实现截图之一 截图_qt截图
最近项目需要使用qt实现截图功能,再次记录一下,希望对您有所帮助,qt我是用的是5.9.9版本。 1.截图 qt截图推荐使用QScreen来实现截图,使用grab这种方式只能截窗体且窗体如果是opengl窗体或者视频窗
有关webscraper的问题,看这个就够了_web scraper
视频教程: 可能有朋友不知道webscraper,我再介绍一下: webscraper 一一款谷歌插件,可以方便的抓取网页上的内容:文字、链接、图片、表格等,而无需写一行代码。 webscrap
电脑卡顿解决方法大全(2025终极版)| 开机慢、运行卡、游戏掉帧?14种快速修复方案+长期优化指南_电脑卡顿反应慢怎么处理
前言 你的电脑卡顿属于哪种类型?快速诊断指南: 开机卡:开机时间>1分钟,桌面加载慢→启动项过多硬盘性能差 运行卡:开几个软件就卡,切换程序慢→内存不足CPU性能低 游戏卡:游戏掉帧、画
发表评论