基于python的新冠肺炎大数据爬取挖掘与可视化分析系统

摘要

在被新冠肺炎病毒席卷全球的第三个年头,2022年4月14日关于上海疫情的报道指出上海新增本土新冠肺炎确诊病例3200例与无症状感染者19872例,其中307例确诊病例为此前无症状感染者转归,2547例确诊病例和19494例无症状感染者在隔离管控中发现,其余在相关风险人群排查中发现,新增境外输入无症状感染者1例。由于当前国内疫情状况的空前复杂,为了使大家对国内的疫情状况有更加清晰地认知,提高大家对于疫情防控的个人与社会警觉性,有必要设计一个新冠肺炎大数据爬取挖掘与可视化分析系统。本文的系统设计主要分为三大模块:网站爬虫模块、文本挖掘与数据清洗模块以及可视化与比对分析模块。具体来说,新冠肺炎大数据爬虫技术爬取国内疫情系统的具体数值与西安舆情数据信息存储于文件中;利用文本挖掘算法与数据分析工具依据数据库中所爬取的文本舆情数据与疫情数据分析当前疫情形势的发展;以图表将具体的疫情数据信息进行可视化展示,并依据可视化展示进行当前疫情形势的比对分析。最后针对本文所设计的系统做出了客观评价并指出未来的可改进方向。

关键词:网络爬虫;Python;文本挖掘;可视化分析

1绪论

  1.1设计的目的及意义

  1.1.1设计的目的

起初,由于新冠肺炎病毒的出现以及给人类社会所带来的严重后果,在疫情的高爆发期内,我国国民的警惕意识与个人防护意识极高。然而,近两年来由于我国所采取的控制与隔离措施的有效性与防护意识宣传工作的广泛性,我国国民针对新冠肺炎局势严峻性的关注度也有所下降。此外,伴随智慧化生活方面科技的不断革新,其中python的爬虫技术与可视化挖掘技术与数据库存储技术也越来越先进,国内外学者以数据网站为基础,研究如何统计并可视化分析出大数据信息以图表形式展现以提高信息的可阅览性。基于上述原因,有必要统计国内的疫情状况并可视化成图表形式供大家阅览,以更形象与生动化的图表展现、挖掘并分析新冠肺炎的新增、死亡与治愈患者数据以达到警示国民提高针对疫情的重视与戒备的目的。

 1.1.2 设计的意义

自新冠肺炎席卷全球以来已是第三个年头,国内外的国际形势依然处于“谈新冠色变”的状态。在xxx的领导下,通过宣传疫苗接种与口罩防护等措施有效控制住了新冠肺炎的进一步扩散。正因如此,在许多非一线城市已有近两年时间未曾出现过患者,这使得大家逐渐卸下了对于新冠肺炎的防备心理与重视,甚至于坐公共交通出行时也不被要求戴口罩。而伴随最近又迎来新的一次新冠肺炎爆发,且新冠所产生的新病毒导致注射的疫苗并无抵抗功效。与此同时,现代社会已踏入数字智慧化的生活环境,人们习惯性通过刷视频、看图片来获取信息,针对文字信息的可阅读性逐渐降低。因此,有必要设计一个新冠肺炎统计与可视化挖掘系统以充分展示我国的疫情数据信息,以提高大家对于新冠的重视度,进一步做好个人防护。

通过本次的毕业设计与实现,更加实质化地明确了网络爬虫、数据库存储、数据分析与文本挖掘的实现模式与工作流程原理。具体来说,针对基于python的爬虫技术方面而言,一般采用requests库进行数据采集后,利用Beautiful-Soup解析器以解析URL的文本信息,再通过确定每个数据元素及类名,最后采用find或select等方法定位标签以提取定位的数据信息[1-10];针对数据库存储方面而言,大多数方法以分布式文件存储数据库为基础以传输网络文件并达到共享的目的[11-13];针对中文文本处理与挖掘算法方面而言,通常采用python进行词性赋码、动词高频词提取、句法分析与语义依存分析等等[14];针对数据的分析与可视化分析方面而言,可利用numpy与pandas等处理并统计数据,采用echarts以图表形式展示[15-21],再针对图表信息做出自适应的结果对比与说明。此外,经过本次的毕业设计与实现,还增强了自身对于系统的综合设计能力与具体环境下的开发实力。

 1.2设计主要内容

本系统的设计以Anaconda科学工具包与python语言为基础,再结合我国新冠肺炎数据与西安新冠肺炎舆情的网站爬取技术爬取数据后,分别将爬取后的数据保存至文件中;通过文本词拆分与数据分析等等工具包完成文本挖掘与数据清洗;最终借助可视化工具库可视化新冠肺炎的数据信息并加以分析比对。具体的设计内容囊括以下三大模块:

网站爬虫模块:先利用urllib、requests等工具库爬取网站的新冠肺炎数据统计信息与西安新冠肺炎舆情的数据,再依据所确定的索引字段将数据信息保存至xlsx、txt与pickle文件中。

文本挖掘与数据清洗模块:通过jieba分词、TextRank关键词频统计、LDA主题词分析技术针对爬取的舆情信息进行文本挖掘,同时利用pandas、numpy等数据分析包完成我国新冠数据与西安舆情数据的清洗、排序与筛选。其中包括获取网友对某地疫情防控措施的评价,利用关键词对防控工作的评价进行排序,筛选出可以为其他地区所效仿的措施等。

可视化与比对分析模块:最终借助echarts完成数据可视化的展示,并依据可视化结果做出疫情状况的分析与对比。其中可视化内容包括:疫情数据的趋势图、疫情地图与柱状图、文本舆情数据的词云图、关键词频统计图等。

本系统的创新点在于清晰地反映出某地区疫情防控措施是否到位,为其他地区管理部门疫情防控提供了有力的参考并辅以提升国民针对疫情防控的重视度。本系统的总体模块设计如图1-1所示:

b2cfa5dae3799254e327a0a7115be550  图1-1总体模块设计图:由网络爬虫模块、文本挖掘与数据清洗模块与可视化与比对分析模块组成

1.3 论文组织架构

此次毕业设计所涉及的系统开发均基于科学理论的基础之上加以编程开发予以实现。关于论文的论述共分为七个章节,其整体的组织架构如下:

第一章为绪论。针对基于python的新冠肺炎大数据爬取挖掘与可视化分析系统设计的目的及意义、该设计的总体模块内容与组成与论文的全局组织架构进行了相关阐述。

第二章为相关技术。针对本次设计所涉及到的网站爬虫、数据挖掘与数据可视化技术的设计内容、原理与流程进行了详细阐述。

第三章为开发环境及需求。针对本次设计所涉及到的开发环境以及可行性需求进行了详细阐述。

第四章为新冠肺炎疫情数据爬虫设计。针对本次爬虫设计所涉及到的网站获取、网站解析以及数据存储部分进行了详细的流程介绍、代码以及结果展示,并针对本章节予以总结。

第五章为新冠肺炎数据挖掘与可视化分析。针对本次挖掘与可视化分析所涉及到的总体功能、数据挖掘界面、国内疫情整体情况、各省疫情情况以及西安疫情文本挖掘统计与可视化分析部分进行了详细的流程介绍、代码以及结果展示,并针对本章节予以总结。

第六章为结论。针对本次毕业设计中所遇到的研发难题及相对应的解决方案、系统设计以及未来工作进行了相应的探讨。

 2相关技术

  2.1网络爬虫技术

  2.1.1 网络爬虫基本概念

网络爬虫技术是指通过跟踪超链接从网络中获取网页指定索引信息的技术。网络爬虫的类型可大致分为五类:通用式爬虫、偏好式爬虫、隐藏式网络爬虫、移动式爬虫与连续式或增量式爬虫。

通用式爬虫:通用式爬虫并不局限于一个特定的主题或域网站。其爬虫方式会无休止地关注链接,并获取所遇到的全部网页信息。

偏好式爬虫:偏好式爬虫并不会爬取其所遇到的所有链接,而是用户提交一个条件或感兴趣的条件或主题以指导偏好爬虫。此外,偏好式爬虫可以分为主题爬虫和特定主题爬虫,从网站中搜索与某些特定主题相关的信息。主题爬虫仅仅爬取指定感兴趣的主题,而特定主题爬虫中一些相关的和非相关标记索引的信息也是可指定爬虫的。

隐藏式网络爬虫:是指网站上的大量信息不能直接通过跟踪网页上的超链接来访问。此信息隐藏在搜索或查询界面后面。

移动式爬虫:指网站的选择和过滤是在服务器端而不是在搜索引擎端执行的。在移动式爬虫中移动代码到数据可以减少传统网站爬虫所造成的网络负载。

连续式爬虫或增量式爬虫:指网络是动态的,网页上的数据也在不断变化。这类爬虫用于维护搜索引擎的索引数据库。然而,此类爬虫在管理热度与资源消耗之间存在着一种权衡。

 2.1.2 网络爬虫原理与流程

基于python的网络爬虫原理为模拟计算机向服务器发送request请求包,然后接收服务器的response响应包并加以解析后,从中提取出感兴趣的索引字段相关内容。具体的工作流程为:首先通过观察页面URL的构成特点,手动将URL信息存入列表;其次定义爬虫函数;再次通过循环调用爬虫函数以爬取URL列表中的网页索引字段的相关数据;最终,每实现一次爬取操作则解析该网页数据并提取相关索引字段以保存至存储文件中。其基于python的爬虫原理流程如图2-1所示:

7b18627108998ae157a707724d6b5a21  图2-1基于python的网络爬虫原理流程图:分为URL列表的构造、爬虫函数的定义、网页信息的爬取、网页数据的解析以及数据的存储所构成。

2.2数据挖掘技术

  2.2.1 数据挖掘基本概念

数据挖掘技术是指处理从各种信息源(如数据库、文本文件、流)所获得数据的准备,以及使用各种技术以所确定的实现目标(如分类、聚类、回归、关联规则挖掘等)进行数据建模的过程,即使用机器学习技术从现有的信息中发现新的知识。数据准备是数据分析过程中的重要一步,它包括数据预处理和数据操作。预处理的目的是清理、集成、转换和筛选原始数据,使其能够用于数据分析;而数据操作则将预处理数据集转换为数据建模算法易于操作的数据格式。数据挖掘技术大多被定义在更广泛的数据科学范围内,其也涵盖统计学、大数据技术和数据可视化技术等方面。

目前,Python已经成为数据科学社区的首选数据挖掘编程语言,而R是第二选择。Python的流行可能源于它的相对易用(即使是非计算机科学家),其巨大的生态系统由库数据科学及其相关依赖所组成,主要通过NumPy[22]和SciPy[23]包的快速实现,其包中的科学算法由C与Fortran语言编写。针对Python中的数据科学挖掘库可主要分为六大库:Python核心库、数据准备库、数据可视化库、机器学习库、深度学习库与大数据库。

Python核心库:Python中的许多数据挖掘和机器学习任务都是基于使用NumPy和SciPy库进行的快速和高效的数值和矢量化计算。NumPy和SciPy的主要优点是它们能够在n维阵列上执行高效的向量化计算与其广播机制。在此领域中使用Python的另一个优点是,将第三方代码连接到Python解释器中相对容易。在数据挖掘技术中最常用的库是Cython[24]。Cython是一种建立在Python之上的语言,它还支持调用C函数,并具有C类型的变量和类。Cython的使用可以使代码的某些关键部分的速度快几倍。

数据准备库:由于数据科学领域的一切都是基于数据的,因此需要建立数据准备库。目前在这个领域中最好和最常用的Python库是Pandas[25]。Pandas具有广泛的输入/输出数据格式的功能,如Excel、csv、Python/NumPy、HTML、SQL等等。此外,Pandas具有强大的查询可能性、统计计算和基本的可视化功能的实现。此外也包括PyTables[26]与h5py[27]库,仅仅接收HDF5的数据类型。

数据可视化库:Plotly[28]支持数据挖掘和机器学习中使用的大多数标准图可视化。seaborn[29]的一些功能少于Plotly,而Matplotlib[30]的一些功能少于海运。虽然这三个库之间存在差异,但它们都有主要的绘图功能。Bokeh[31]和ggplot[32]有最少的选项和使用最少的库。

机器学习库:scikit-learn[33]是最流行的机器学习Python库。除此之外,还有mlxtend[34],一种仅包括一些基本算法的小库,另外还有Shogun[35],它主要是用C++编写的,但缺涵盖一个可用的Python包装器的所有功能。

深度学习库:常用的深度学习库包括Caffe、Tensorflow、Keras、Pytorch等等。Caffe[36]除了这些基本功能之外,它的文档结构不是非常直观。TensorFlow[37](TF)是由谷歌Brain开发的,它具备优质的文档功能,除了基础功能之外还有很多功能,并且可以使得代码的可定制度非常高。它允许使用者监控他们的模型、参数、损失等等。Keras[38]是建立在TF的基础之上的。因此,在Keras中封装层级更高。因此,其代码的可定制度较低。PyTorch[39](PT)是由脸书开发和使用的。它的发展比TF发展得更晚。但就目前而言,在深度学习研究领域中,其库的应用最为广泛。PT是动态的,它以更程序化的方式运行代码,而在TF中,首先需要设计整个模型,然后在一个会话中运行它。因此,相较TF而言,在PT中调试代码要容易得多。PT更容易学习,也更容易用于快速的原型设计。PT和Keras也有较优质的文档功能。

大数据库:最流行的大数据工具是Spark和HadoopMapReduce。两者都是灵活性高的且容错率高的工具。它们有自己的专门的存储系统,这使它们能够在计算机集群上工作。Spark使用弹性分布式数据集,而Hadoop使用Hadoop分布式文件系统。Spark和HadoopMapReduce的主要区别在于Spark可以在RAM内存中工作,而Hadoop总是在文件系统上写入。在数据量非常大(大于可用的RAM)和不需要立即得到结果的情况下,Hadoop是一个很好的选择。在所有其他情况下,Spark可能是一个更好的选择。尽管两者都是用Java编写的,但许多大数据工程师更喜欢将它们与Python结合使用。

 2.2.2 数据挖掘原理与流程

基于python的数据挖掘原理为进行数据的读取,然后进行数据的探索与特征理解,再进行数据的预处理,最终建立模型以挖掘数据间的关联。具体的工作流程为:首先进行数据的指标、规模与信息的统计;其次进行特征的分析与探索工作;再次利用特征工程加以分析与清洗数据;最终建构学习模型完成数据的相关性等等挖掘工作。其基于python的数据挖掘原理流程如图2-2所示:

033154ec8c438623c3bc833adb195acc  图2-2基于python的数据挖掘原理流程图:分为统计数据的读取、数据的探索与特征的理解、数据的预处理与建构模型所构成。

3开发环境及可行性需求

  3.1开发环境

此次毕业设计的开发环境见下表3-1所示:

表3-1 开发环境的具体配置

设备名 版本型号
框架 Django
CPU Inter(R)Core(TM) i7-9750H CPU @ 2.60GHz
内存 RAM axel DDR4 2667MHz
操作系统 Windows11
IDE Pycharm
硬盘 WDC PC SN730 SDBPNTY-1T00-1101 953GB

 3.2技术可行性

本系统已通过可视化前端界面进行了统计与展示,仅仅需要对我国国民参与少量培训,则能顺利使用本系统,本系统基于Django框架并采用Python编程语言予以实现。

 3.2.1Python

Python既是一种面向对象的语言,也是一种脚本语言。其优点在于其具备非常强大的第三方库,其开发效率较高;其面向对象的编程思想比起C语言更符合人类的思维逻辑;网络上具备大量免费且开源的学习资源以供参考;其可以用于Linux、Windows、Solaris等等平台,可移植性较高;其可选择C或C++语言以编写并用于Python中,其代码的可扩展性较高;其相对于Java语言而言,其语法较简易,学习难度较低。因此,本系统采取Python作为编程语言。

 3.2.2 Django

Django是一种开源且功能完备的Web应用框架,是由Python语言所编写的。其采用了模型、视图与控制器的三种设计模式所构成。其优点在于利用Python的类集成机制,拥有丰富且动态的数据库操作接口,具备强大的数据库功能;具备强大的后台管理员设计功能;利用正则化匹配网址,具备优雅的自定义网址功能;具备大量的网站模板,且可扩展性较强;其缓存系统可以与其他系统联用以提高页面的加载速度,利于提升用户的体验感。因此,本系统采取Django作为系统开发框架。

 3.3操作可行性

本系统采用基于Windows的图形界面用以展示。对于一般拥有基础计算机知识的人员即可轻松上手使用,其友好的交互界面完全不必了解后台的数据处理过程。由此,该系统的操作是可行的。

综上,该系统具有很高的开发可行性,无论从技术还是操作上。

 4新冠肺炎疫情数据爬虫设计

本章针对基于Python语言中requests工具库所实现的国内新冠肺炎统计数据与西安新冠肺炎舆情数据的爬取工作进行详细阐述。

4.1国内新冠肺炎数据与西安新冠肺炎舆情爬虫设计

针对国内新冠肺炎统计数据与西安新冠肺炎舆情数据的爬取设计主要分为URL列表的构造、爬虫索引条件的定义、网页信息的爬取、网页信息的解析以及数据的存储五个步骤。其工作原理流程如图4-1所示:

7c3fa5f983b421eb303666a10c0f7c99  图4-1国内新冠肺炎统计数据与西安新冠肺炎舆情数据的爬取设计流程图:分为URL列表的构造、爬虫索引条件的定义、网页信息的爬取、网页数据的解析以及数据的存储所构成。

针对URL列表的构造,采取肉眼观察须爬取网站的URL信息,并手动采集信息以构建URL列表。

针对爬虫索引条件的定义,利用所感兴趣的特定筛选条件或正则化匹配函数以建构其索引条件。

针对网页信息的爬取,利用requests工具包模拟计算机端向服务器端发送request请求访问相应页面的URL以及请求所需的请求头headers,随后接收服务器端的response响应包实现信息爬取。

针对网页数据的解析,利用re正则匹配解析工具包或json工具包以解析网页相关索引条件的内容。

针对数据的存储,利用xlsx、txt与pickle文件格式将所解析的信息予以存储。

 4.2代码及结果展示

  4.2.1 国内新冠肺炎数据爬虫设计

国内新冠肺炎数据爬虫设计的实现分为URL列表的构造、爬虫索引条件的定义、网页信息的爬取、网页信息的解析以及数据的存储五个步骤。其中以爬取某一个城市的新冠肺炎患者历史数据为例,其代码如图4-2所示:

08c1000ccea0472d7325887729b6140f  图4-2 国内新冠肺炎数据爬虫设计的代码实现(以爬取某一个城市的新冠肺炎患者历史数据为例)

如图4-2所示,其中第207行的url赋值函数为URL列表的构造,第211行的pattern赋值函数为爬虫索引条件的定义,第212行的re为依据索引条件的网页信息正则化匹配,第218行与第222行的get函数则表示获取网页中所匹配到的字段并解析,最后依据第225行pandas库中的DataFrame函数将所获取的数据加以存储至变量中。

 4.2.2 西安新冠肺炎舆情爬虫设计

西安新冠肺炎舆情爬虫设计的实现分为URL列表的构造、爬虫索引条件的定义、网页信息的爬取、网页信息的解析以及数据的存储五个步骤。其中以爬取知乎网站上针对西安网友舆情评论为例,其代码及结果如图4-3所示:

fdb0b23a4d888cf0bc5b5e0566b83b06  图4-3西安新冠肺炎舆情爬虫设计的代码实现(以爬取知乎网站上针对西安网友舆情评论为例)

如图4-3所示,其中包括网页信息的爬取响应以及解析所取得的相关舆情数据结果。

 4.3本章小结

本章详细论述了基于requests工具包的国内新冠肺炎统计数据与西安新冠肺炎舆情数据的爬取设计的五个步骤:URL列表的构造、爬虫索引条件的定义、网页信息的爬取、网页信息的解析以及数据的存储。此外,依据此五步法针对代码进行了详细的解析并各举一例附以结果展示。

 5新冠肺炎数据挖掘与可视化分析

本章针对新冠肺炎数据挖掘与可视化分析所涉及的前台用户浏览功能、代码及结果进行了详细论述。

 5.1数据挖掘与可视化分析的总体功能说明

基于python的新冠肺炎数据爬取挖掘与可视化分析系统的总体功能涵盖数据挖掘可视化分析、国内整体情况可视化分析、各省情况可视化分析以及西安疫情文本挖掘可视化分析四大挖掘与分析模块,如图5-1所示。其具体组成如下:

(1)数据挖掘可视化分析:新冠肺炎总体累计与新增的确诊、治愈与死亡患者的线图趋势;新冠肺炎总体累计与新增的确诊、治愈与死亡患者的数值统计;中国疫情累计确诊地图;全国累计与新增确诊患者人数排名前五的省份。

(2)国内整体情况可视化分析:新冠肺炎全国累计与新增患者的线图趋势。

(3)各省情况可视化分析:各省份的累计与新增的确诊、治愈与死亡的疫情分布图。

(4)西安疫情文本挖掘可视化分析:西安新冠肺炎累计趋势图、西安疫情关键词挖掘的统计。

图5-1 基于python的新冠肺炎数据爬取挖掘与可视化分析系统的总体功能包括四大挖掘与可视化分析模块:数据挖掘可视化分析、国内整体情况可视化分析、各省情况可视化分析以及西安疫情文本挖掘可视化分析

94dc25cfacaf04c9aa0caff4a5c14fec  如图5-1所示,针对基于python的新冠肺炎数据爬取挖掘与可视化分析系统的四大模块相关具体可视化分析如下5.2、5.3、5.4、5.5节所述。

5.2数据挖掘可视化分析

针对基于python的新冠肺炎数据爬取挖掘与可视化分析系统的第一大模块:数据挖掘可视化分析模块的代码如下图5-2所示:

299272f1a6b5be4bce9b2f3ffbeae5a5  图5-2 基于python的新冠肺炎数据爬取挖掘与可视化分析系统的数据挖掘可视化分析模块的代码示例

如图5-2的代码所示,分别依据四部分所生成的html与数值统计分别进行可视化展示:新冠肺炎总体累计与新增的确诊、治愈与死亡患者的线图趋势;新冠肺炎总体累计与新增的确诊、治愈与死亡患者的数值统计;中国疫情累计确诊地图;全国累计与新增确诊患者人数排名前五的省份。其可视化的展示界面如图5-3所示:

e1d0df8401cfdd9987e10c43c4196883  图5-3数据挖掘可视化界面展示:新冠肺炎总体累计与新增的确诊、治愈与死亡患者的线图趋势;新冠肺炎总体累计与新增的确诊、治愈与死亡患者的数值统计;中国疫情累计确诊地图;全国累计与新增确诊患者人数排名前五的省份

具体来说,针对如图5-3数据挖掘的可视化界面所展示的四个组成部分的具体分析比对如下所述:

针对全国新冠肺炎病情的累计与新增趋势曲线图,分别囊括了确诊、死亡与治愈的人数统计。在全国累计趋势图中:可以发现确诊人数在2022年2月26日以前处于缓慢上升阶段,而从2月26日开始一直到3月16日以来,累计确诊人员的数量呈陡坡式上升,之后的数量增长趋势则进一步趋于平缓;可以发现死亡与治愈的人数相对于确诊的人数是较少的,且其增长的趋势也相对更加平缓。在全国新增趋势图中,在2月28日至3月日这段时间内,新增确诊人数发生了陡峭式的上升趋势,而其他时间则呈现相对平缓的上升趋势;而对于死亡与治愈人数则相对较少。此类趋势图说明在我国这段期间内,曾经历过疫情爆发期,通过相关隔离措施,历经二十天左右缓缓控制住了疫情蔓延情况。此外,我国已研发出相关缓解药物,能有效延缓或控制患新冠肺炎人员的致死率。由于治愈人员的数量也并未有陡坡式上升,这说明我国还是无法研究出治愈新冠肺炎的特效药。

针对新冠肺炎全国累计与新增的确诊、治愈与死亡患者的数值统计,分别展示出当下的全国确诊、死亡与治愈的人数统计。

针对中国累计确诊的疫情地图,以中国地图为基础,分别以湖蓝色、浅绿色、橙色与红色代表累计确诊人数在[1,1000)、[1000, 3000)、[3000, 10000)、[10000,

]区间内,以对应颜色代表其各个省份的累计确诊人数。在此疫情地图中可以发现吉林、湖北与X三个省份或地市的累计确诊人数最多,均超过10000例,其次则是陕西、广东、X与澳门等地的累计确诊人数均超过3000例。此数据说明吉林、湖北与X三个地方极大可能为新冠肺炎的发源地。此外,沿海地区的新冠肺炎患者数量也侧面说明新冠肺炎的引发可能是由于对外贸易引起的。而我国西部地区普遍累计确诊人数较少的原因主要是因为地广人稀,人口密集度较低。

针对全国累计与新增新冠肺炎患者前五名省份的柱状图,可以统计发现我国新冠肺炎爆发的重灾区与当前急需采取措施加以控制的地区。

  5.3国内疫情整体情况可视化分析

针对基于python的新冠肺炎数据爬取挖掘与可视化分析系统的第二大模块:国内疫情整体情况可视化分析模块的代码如下图5-4所示:

dda9202474d6c953b50985065a4aaa8a  图5-4 基于python的新冠肺炎数据爬取挖掘与可视化分析系统的国内疫情整体情况可视化分析模块的代码示例

如图5-4的代码所示,分别依据两部分所生成的html进行可视化展示:新冠肺炎全国累计趋势线图以及新增趋势线图。其可视化的展示界面分别如图5-5与5-6所示:

fd05bcdfef5dba87d344a10833104501  图5-5 国内疫情整体情况可视化界面展示:新冠肺炎全国累计趋势线图

如图5-5国内整体情况累计确诊、死亡与治愈人数的曲线图所示,可以发现这三类患者数量呈三段式形式,这说明累计确诊人数远超于累计死亡与治愈人数。而治愈人数又远超过死亡人数。这说明这段期间内,我国换新冠肺炎的患者致死率得到了控制。

38bc32da6ff057b15d2f8d158d732252  图5-6 国内疫情整体情况可视化界面展示:新冠肺炎全国新增趋势线图

如图5-6所示国内整体情况新增确诊、死亡与治愈人数的曲线图所示,拖动鼠标拖动至图中的拐点处则会出现对应的具体数值。由此图可以得出这段期间内,新增确诊人数在逐级减少中,且相对应新增的死亡人数与治愈人数也在逐级减少。

 5.4各省疫情情况可视化分析

针对基于python的新冠肺炎数据爬取挖掘与可视化分析系统的第三大模块:各省疫情情况可视化分析模块的代码如下图5-7所示:

16716c0577ab5c366cfef20bd8ce3d0e  图5-7 基于python的新冠肺炎数据爬取挖掘与可视化分析系统的各省疫情情况可视化分析模块的代码示例

如图5-7的代码所示,分别依据六部分所生成的html与数值进行可视化展示:各省疫情情况新增确诊地图;各省疫情情况新增死亡地图;各省疫情情况新增治愈地图;各省疫情情况累计确诊地图;各省疫情情况累计死亡地图;各省疫情情况累计治愈地图。其可视化的展示界面分别如图5-8所示:

c92f82efc86de58d998433c5f91ebf1d  图5-8 各省疫情情况新增确诊可视化界面展示:各省疫情情况新增确诊地图(a);各省疫情情况新增死亡地图(b);各省疫情情况新增治愈地图(c);各省疫情情况累计确诊地图(d);各省疫情情况累计死亡地图(e);各省疫情情况累计治愈地图(f)

如图5-8所示,以上六幅图展示了国内各省的疫情地图,鼠标移动至相应的省份区域可以显示出对应的累计或新增的确诊、死亡与治愈人数。由图5-8 (a)与图5-8 (d)对比可以发现针对往年累计的新冠肺炎确诊人数来说,其新增的确诊人数较少。这说明我国制定的新冠肺炎的隔离措施的有效性与宣传提高自我防护意识的有效性;由图5-8 (b)与图5-8 (e)对比可以发现针对往年累计的新冠肺炎死亡人数来说,未出现新增的死亡案例。这说明我国针对降低新冠肺炎致死率方面所做出的努力卓有成效;由图5-8 (c)与图5-8 (f)对比可以发现针对累计的治愈人数来说,新增的治愈人数在逐级增多。这同样说明我国对于新冠肺炎病毒治疗药物的研发方面卓有成效。

5.5西安疫情文本挖掘统计与可视化分析

针对基于python的新冠肺炎数据爬取挖掘与可视化分析系统的第四大模块:西安疫情文本挖掘可视化分析模块的代码如下图5-9所示:

a1b0719b96313e5494c05f7ebc4ae8d0  图5-9 基于python的新冠肺炎数据爬取挖掘与可视化分析系统的西安疫情文本挖掘可视化分析模块的代码示例

如图5-9的代码所示,分别依据两部分所生成的html与数值进行可视化展示:西安疫情累计的确诊、死亡与治愈患者人数曲线图统计;西安疫情知乎网友舆情评论的关键词提取与统计挖掘。其可视化的展示界面分别如图5-10与5-11所示:

6ec8ca5ea88464b1fdd8385089841357  图5-10 西安疫情文本挖掘可视化分析界面展示:西安疫情累计的确诊、死亡与治愈患者人数曲线图统计情况

如图5-10所示,针对西安这座城市所累计的新冠肺炎确诊、死亡与治愈患者人数进行了曲线图统计可视化。其中,依据红色的曲线图可发现基于西安累计的人数趋势图可以发现从2021年12月开始到2022年1月10日左右,其累计确诊人数呈悬崖式上升,而依据灰色曲线图可发现相应的死亡人数也间隔着十四天至二十天左右开始了悬崖式上升。而后的时间内其人数都趋于平缓上升。最终依据蓝色曲线图可发现治愈人数的变化就相对较缓慢。这说明从患病到死亡的周期一般是二十天左右,且我国的防护与治愈措施逐渐在发挥着作用。

接下来,针对西安疫情文本挖掘模块中的西安疫情知乎网友舆情评论的关键词提取与统计挖掘可视化的代码及结果展示进行详细阐述。其中包括基于TextRank算法的关键词提取与总结(a)和基于LDA模型的网友评论意见挖掘(b)两大板块。TextRank算法是一种文本排序算法用以关键词提取。而LDA模型是一种无监督分析的文本主题模型用以主题分析、关键词提取。

针对图西安疫情文本挖掘模块中的西安疫情知乎网友舆情评论的关键词提取与统计挖掘可视化中基于TextRank算法的关键词提取与总结板块(a),其TextRank算法的原理为首先将给定的文本按照完整句子加以分割;再针对每个句子进行jieba分词以及词性标注后过滤掉停用词与数字,从而仅仅保留词性单词;依据词性单词为图的节点,以词性单词的共现关系为图的边,进而建构候选关键词图;依据图迭代更新传播各图节点的权重直至模型收敛;将节点权重倒序排序以取得最重要的前top词性单词作为候选关键词集合;最终依据候选关键词集合以标记原始文本中的单词构成相邻词组,即完成关键词的提取。其代码实现如图5-12所示:

108a1a15e81cc9c0388851fef00797a9  图5-12 西安疫情文本挖掘模块中的西安疫情知乎网友舆情评论的关键词提取与统计挖掘可视化中基于TextRank算法的关键词提取与总结板块(a)代码示例

针对图5-11中基于LDA模型的网友评论意见挖掘板块(b),其LDA算法的原理为首先选择合适的主题数与合适的超参向量;其次对应语料库中每一篇文档的每个单词随机赋予一个主题编号;重新扫描语料库中的每个单词并利用Gibbs采样更新其主题编号以及词编号;重复Gibbs采样直至模型收敛;最终统计语料库中各文档中各个词的主题分布,即完成评论意见挖掘。其代码实现如图5-13所示:

fadc13dca3aa7cdc2390461e8805fc7f  图5-13 西安疫情文本挖掘模块中的西安疫情知乎网友舆情评论的关键词提取与统计挖掘可视化中于LDA模型的网友评论意见挖掘板块(b)代码示例

最终,针对西安疫情文本挖掘模块中的西安疫情知乎网友舆情评论的关键词提取与统计挖掘可视化如图5-14所示:其中包括基于TextRank算法的关键词提取与总结(a)和基于LDA模型的网友评论意见挖掘(b)两大板块。

009f3a51a7a23ab2cb6de9de6f834441  图5-14 西安疫情文本挖掘可视化分析界面展示:西安疫情知乎网友舆情评论的关键词提取与统计挖掘((a)基于TextRank算法的关键词提取与总结;(b)基于LDA模型的网友评论意见挖掘)

如图5-14所示,本文针对西安这座城市,通过知乎爬虫收集评论信息以详细地统计与分析了网友对于疫情的舆情信息。如图5-14(a)所示:其中包括基于TextRank算法的关键词提取与核心关键词与关键句总结评论。基于关键词提取与总结可以发现西安、疫情、核酸、物资等等词语的词频最高,并提取出关键事件中核心的关键词如核酸、物资、志愿者等等,并附以评价链接以及网民的正负向态度。如图5-14(b)所示:其中包括基于LDA模型的网友评论意见挖掘,并进行了词频统计的可视化。可以从基于LDA模型的网友评论意见挖掘中发现其主题词,也可以从可视化图中发现其频次最高的词和词之间的相关性。这说明知乎网友对于西安疫情的关注度非常高,而且主要关注核酸、人员、隔离等疫情防控的事宜。同时,这也表明大众并未出现恐慌等情绪。

 5.6本章小结

本章详细论述了新冠肺炎数据挖掘与可视化比对分析的功能模块组成,其中包括数据挖掘可视化分析、国内整体情况可视化分析、各省情况可视化分析以及西安疫情文本挖掘可视化分析四大挖掘与分析模块。四大模块中的各个具体组成部分如下:

数据挖掘可视化分析中四个组成部分的代码结果展示以及可视化比对分析:新冠肺炎总体累计与新增的确诊、治愈与死亡患者的线图趋势;新冠肺炎总体累计与新增的确诊、治愈与死亡患者的数值统计;中国疫情累计确诊地图;全国累计与新增确诊患者人数排名前五的省份。

详细介绍了国内整体情况可视化分析中两个组成部分的代码结果展示以及可视化比对分析:新冠肺炎全国累计趋势线图与新冠肺炎全国新增的趋势线图。

详细介绍了各省情况可视化分析中六个组成部分的代码结果展示以及可视化比对分析:各省疫情情况新增确诊地图;各省疫情情况新增死亡地图;各省疫情情况新增治愈地图;各省疫情情况累计确诊地图;各省疫情情况累计死亡地图;各省疫情情况累计治愈地图。

详细介绍了西安疫情文本挖掘可视化分析中两个组成部分的代码结果展示以及可视化比对分析:西安疫情累计的确诊、死亡与治愈患者人数曲线图统计;西安疫情知乎网友舆情评论的关键词提取与统计挖掘。其中西安疫情知乎网友舆情评论的关键词提取与统计挖掘又可分为基于TextRank算法的关键词提取与总结和基于LDA模型的网友评论意见挖掘两大板块。

 6结论

  6.1研发难题与解决方案

在此次毕业设计的系统开发过程中,曾遇到过如下两个研发难题,并通过查阅资料以及寻求同学老师的帮助辅以解决:

难题:在知乎网站舆论数据的爬取过程中,知乎网站设置了相应的反爬取机制。解决方案:该问题的出现源于访问操作次数的频繁程度较高。因此,通过添加cookie headers以减少请求并发次数,从初始的一秒请求十次更改为一秒请求一次即可克服此难题;

难题:在LDA主题分析的过程中,大量关键词之间无相关性关联。解决方案:该问题的出现源于所爬取的文本中存在大量的停用词与数字等干扰信息。因此,通过去除停用词与数字即可克服此难题。

 6.2系统设计总结

在整个系统设计阶段感受最深刻的是学习方法的把握与解决问题的思路逻辑。首先学习方法的把握,在设计系统的一开始倾向于从书中从网上的视频教学中找寻答案,而开发系统需要的动手的工程实践能力,而不是一味地追求教科书上的知识。实践才是检验真理的唯一标准,意识到这一点后我开始硬着头皮一步步写代码,经历一步步调试终于完成了此系统。其次解决问题的思路逻辑,在程序运行失败之后,依据报错信息找寻到当前报错行,依据提示先自我检查问题所在,如若自行解决不了再去网上找寻相关资料。在整个毕业设计过程中,我深刻体会到这两点的重要性,也牢记住了在今后的学习与研究中要继续延续这两点。

 6.3未来工作

在此次设计中,自觉本系统尚存在诸多的不足之处,如未针对未来的疫情发展趋势做出一定的预测等功能不够完善,望老师对于该设计中所出现的问题及不足之处予以批评指正。

参考文献

[1]成文莹, 李秀敏. 基于Python的电影数据爬取与数据可视化分析研究[J]. 电脑知识与技术:学术版, 2019, 15(11):4.

[2]刘晓知. 基于Python的招聘网站信息爬取与数据分析[J]. 电子测试, 2020(12):3.

[3]杨应浩. 基于Python的电影信息爬取与数据可视化分析[J]. 新型工业化, 2021, 11(7):2.

[4]赵涵原. 基于Python爬虫的书籍数据可视化分析[J]. 电子技术与软件工程, 2021(14):2.

基于python的新冠肺炎大数据爬取挖掘与可视化分析系统

基于python的新冠肺炎大数据爬取挖掘与可视化分析系统

价格 ¥9.90 发布时间 2023年8月18日
已付费?登录刷新
下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/161322.html,

Like (0)
1158的头像1158编辑
Previous 2023年8月16日
Next 2023年8月18日

相关推荐

My title page contents