5分钟

课程背景

实验预计耗时:45分钟

1. 课程背景

1.1 课程目的

本课程借助Python编程语言和常见的爬虫库采集中国日报疫情专区的最新报道,通过词云工具wordcloud将其进行可视化的展示,帮助用户理解新闻中的疫情关注热点,快速掌握最近的疫情动态信息。

完成本课程的学习后,学员可以熟悉使用request和lxml模块爬取页面的流程,了解jieba模块和wordcloud模块,结合爬虫获取到的新闻内容生成中文文本的词云图。完成本实验后,学员可以做出类似下方效果的词云图:

1-1 实验预期效果展示

1.2 课前知识准备

1.相关概念

  • CentOS:CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定放出的源代码编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源。
  • HTTP:HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,它的成功归结于它的简单、实用。在WWW的背后有一系列的协议和标准支持它完成如此宏大的工作,这就是Web协议族,其中就包括HTTP超文本传输协议。HTTP基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。
  • Xpath:XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。 XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是XPath很快的被开发者采用来当作小型查询语言。
  • 中文分词:中文分词是文本挖掘的基础,是指将一个汉字序列切分成一个一个单独的词,以达到电脑自动识别语句含义的效果。与英文为代表的拉丁语系语言相比,英文以空格作为天然的分隔符,而中文由于继承自古代汉语的传统,词语之间没有分隔,且“词”和“词组”边界模糊,分词所面临的挑战更大。
  • 数据可视化:数据可视化,是关于数据视觉表现形式的科学技术研究。其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量。 数据可视化是一个处于不断演变之中的概念,其边界在不断地扩大。主要指的是技术上较为高级的技术方法,而这些技术方法允许利用图形、图像处理、计算机视觉以及用户界面,通过表达、建模以及对立体、表面、属性以及动画的显示,对数据加以可视化解释。与立体建模之类的特殊技术方法相比,数据可视化所涵盖的技术方法要广泛得多。
  • 词云图:词云图就是通过形成“关键词云层”或“关键词渲染”,对网络文本中出现频率较高的“关键词”的视觉上的突出。 由于词云图过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。

2.相关原理

  • 中文词云图生成原理
1-2 中文词云图生成原理

生成词云图的第一步,就是对词云图中要填入的文本进行预处理,由于wordcloud模块不能直接处理中文语料,所以此处使用jieba分词对中文文本内容进行处理,处理后的中文文本会被拆分为许多个词,在Python中生成的结果默认为列表形式。

如果希望将其导入wordcloud,需要将其转换为词与词之间用空格分开的字符串,完成了这些操作,即完成了文本预处理。

接下来只需要将处理好的字符串交给wordcloud,它会对文本内容进行词频统计,一个词出现的频率越高,便会赋予这个词越大的font_size(字号)。

最后一步会进行词云图的渲染,此时除了每个词的词频,还要记录下每个词的位置、方向和颜色信息,有了这些信息,便可以使用已有的词语进行词云图的拼接,最终将拼接好的词云以图像的形式呈现出来。

3.相关命令介绍

【Linux相关命令】

  • 使用yum安装Python:
yum -y install python3
  • 使用pip3安装指定Python包:
pip3 install <Python包名>
  • 创建目录:mkdir <目录名>
  • 跳转到指定目录:cd <目录名>
  • 使用Vim编辑器创建/打开文件:vim <文件名>

【Vim相关命令】

  • 进入编辑模式,在当前字符前插入光标:i
  • 进入命令行模式:ESC
  • 保存并退出文件(命令行模式下)::wq