基于R语言的web信息抽取及可视化应用

2018-04-22 01:31:58 科教导刊·电子版 2018年34期
关键词:R语言可视化

马寅秋

摘 要 本文通过一个基本的web文本信息抽取实例,展示了在R语言平台下,利用人工构建的正则表达式在静态web文本抽取方面的一些基本做法。同时,将其所抽取的基本内容进行组织,用较为新颖的单帧可视化词云及多帧可视化词云进行呈现。

关键词 信息抽取 正则表达式 R语言 可视化

中图分类号:TP311.52文献标识码:A

R语言一直以来以在数据统计功能方面为人所称道,很多数据资料往往用很少的几行R语言代码就能呈现出很专业的视觉效果。解决了大部分数据处理人员所头疼的数据可视化问题。下面就以baidu热搜榜的热搜信息的文本抽取为例,展示Web文本抽取及呈现在R语言平台下的实现流程。

1抓取网页数据

首先所要做的就是抓取相关网页数据,网页数据一般是以URL为指向进行抓取,在极少情况下也可以通过数据流的形式抓取。当给出提取文本信息的目标URL后,用readline()方法去读取网页数据,网页数据是以html格式返回。

1.1网页数据处理

网页数据内包含大量的冗余数据,有用数据夹杂在冗余数据之间。那么,我们必须使用某些方法来去除冗余数据,获取有用数据。这些数据在所有数据中的放置方式是有一定规律可循的。找到这些有用信息最简洁,高效的做法就是利用正则表达式。在计算机科学中,正则表达式是由普通字符和元字符组成的一种逻辑公式,是用来表达对字符串的一种过滤逻辑。一个正则表达式通常被称为一个模式可以用来描述或者匹配一系列符合某个句法规则的字符串。正则表达式本身并不是一种完备的程序设计语言,准确的说,它是一种内置于其他程序语言中的“微型语言”。

1.2网页数据格式处理

首先,利用正则表达式获取网页编码。网页编码的信息一般都标签的属性“charset”中,因此,可以通过正则表达式进行匹配来提取编码信息。这个正则表达式较为简单,将所要查找的关键字“charset=”与其后的非数字字母型符号找出,然后做一个反向匹配,就可以找出编码类型。找出编码类型之后,将R语言所抓取的网页数据转换为相应的编码格式。这样网页中的有用数据才能被正确解析。

1.3抓取有效信息

在抓取有效信息之前,必须要清楚掌握有效信息处于网页数据中的哪些位置,其中的前后规律与结构是怎样的。这样,才能通过正则表达式对于结构的匹配来获取相应的数据。通过分析,发现所有的热点新闻标题都被放置在包含属性“class”且属性“list-title”的标签的内容之中。

对于标签内容的提取不同于前面对于标签属性的提取。标签的属性值紧跟在确定的属性名称之后,因此,寻找起来定位相對容易。而内容并不紧跟在标签名称或某一属性名称之后,而是在标签的“>”之后。所以,当我们定位到明确的属性值“class=list-title”之后,必须寻找包含此属性的标签的头中的“>”部分,以此为标识作为有效数据的开始。那么,自然而然,标签的结尾则是作为内容标识的结尾。值得注意的是,在此利用正则表达式时不可使用贪婪匹配,否则所定位的“>”就不可能是所定位标签的部分,自然获取不到所要查找的数据。

当然,根据文本提取项目的需求,有用数据经常并不仅仅只是标题内容这一信息,从网页中还可以获取到点击人数以及排名上升下降情况。这些信息包含在标签之中,标签的内容是新闻相应的点击量,属性“class”的值有三种,分别是“icon-rise”、“icon-fair”以及“icon-fall”,各自代表新闻的排名是上升,静止,还是下降。

当能提取编码信息与新闻内容信息之后,挖掘点击量信息相对就较为轻松。可以通过定位“

R语言可视化
基于R语言的管理运筹学教学实验设计
R语言在经济学GIS绘图中的应用
高职经济信息管理专业与数学结合的教学改革研究
基于目标诱导银沉积的可视化检测方法的构建及其应用
制造供应链可视化技术建设研究
统计分析工具和R语言在科学研究中的应用比较
基于VTK与QT的地震数据三维可视化研究与实现
江苏省雷电强度等级空间分布及其与土地利用类型的关系