信息采集技术在互联网舆情分析中的应用
摘 要
随着现代化信息技术的飞速发展,当前的网络环境也逐渐变得复杂,网络舆情对网民、社会的发展有重要的影响。网络舆情发生的范围广、传播快,因此,对网络舆情信息的采集与分析至关重要,信息采集技术在网络舆情分析中有着重要的作用,笔者根据自身多年的工作经验,谈谈信息采集技术在互联网舆情分析中的应用。
【关键词】信息采集技术 互联网舆情 分析 应用
1 互联网舆情系统信息采集模块总体设计
1.1 URL网站
首先,要确保能获取站点内所有的URL地址,并将这个URL地址集合,之后逐个访问,访问完所有的URL网址。
1.2 采集Ajax代码
页面DOM结构树加载完成后,寻找并保存嵌在Ajax页面中的JavaScript代码和Ajax事件方法。
1.3 触发Ajax事件
该信息采集模块必须能模仿客户与Ajax动态页面进行交互,模拟触发事件,并记录和保存页面触发后生成的不同页面DOM结构树。
1.4 合并DOM结构树
合并处理形态各异的DOM结构树,找出结构中的干扰因素并剔除,获取用户需要的主题度偏高的页面内容。
2 信息采集方案策略的设计
笔者认为,必须做好信息采集方案策略的整体设计,同时确保后续信息提取分析工作的高效开展。
2.1 动态页面DOM爬取阶段研究
2.1.1 动态页面加载机制
一般静态页面只包含HTML,并且页面利用客户端的网页浏览器直接解释、渲染、展示,不需要利用任何应用服务器来编译。我们在抓取页面时,如果服务前返回的网页内没有能利用客户端浏览器执行的脚本,那么此页面就属于静态页面。
通常,静态页面中的超链接、文本结构内容是以URL地址和文本信息嵌入到页面源代码文档的HTML标签内。所以,在爬取静态页面的信息内容时,多利用HTML页面解析成文档DOM树,利用树节点中的元素节点、文本节点来提取信息,持续递归爬取过程,进而高效采集静态页面信息。
动态页面虽然能给用户带来好的体验,但是,它的结构和工作原理比页面页面复杂很多。在开发互联网程序时,动态页面指将服务器端高级程序设计语言添加到网页开发代码文件中,如PHP、Java等等。服务器端后台程序要进行编译并且执行,从而连接后台服务器的数据库,并且将数据输入或导出,实现前台数据的交互、查询,执行结果也能在前端页面中得到展示。此类动态页面就是一般意义上的动态页面。
另一方面,由于动态页面中存在很多浏览器端执行的Javascript脚本和Ajax异步调用的脚本,多以,动态页面的爬取和静态页面存在很多的不同。动态页面上一些关键的内容信息是在脚本程序完成解释后加载到页面结构中去,比较常见的有微博、社交页面等。这类页面中的新鲜事、好友圈、评论等信息是需要利用脚本来加载的,一般来说,只有用户主动出发,脚本才会加载。所以,如果采用传统的爬虫程序进行爬取的话,一些重要信息可能会被遗漏。
页面加载需要利用浏览器中的页面加载渲染引擎来完成,它也是浏览器中的关键部分,主要工作就是整理页面内容、获取页面信息、明确页面显示方式,通过浏览器、打印设备展示。全部的应用程序客户端、浏览器引擎是离不开渲染引擎机制的。现阶段,虽然很多国家的浏览器在渲染细节与效果上都有所不同,但是在页面的渲染、嵌入文件的下载等方面是一样的。
2.1.2 动态页面DOM爬取步骤
我国传统的网络爬虫是根据相关策略,逐个爬取静态页面的URL地址,但是Ajax页面与静态页面不同,很多关键信息都是用户自己主动触发事件之后才显示的,所以,需要立足于传统的爬虫程序,进行扩展,等到它能模拟真实用户的行为完成事件的触发、记录和保存事件触发后的状态,才能进行下一步的爬取工作。
一般来说,一个Ajax页面内有很多信息与用户之间是需要交互的,这个交互行为要利用页面事件来完成,对于真实用户来说,用户的交互行为包括点击鼠标、移入移出鼠标、拖动和滚动鼠标等等,相应页面中的Javascript代码、Ajax方法会及时对用户的各种行为事件作出处理。
Ajax页面信息爬取的基本流程为:获取Ajax页面的URL地址,这个URL地址是加载过的并且没有用户交互行为的DOM结构树,其次,查询该DOM结构树中的所有事件,将这些事件排成一个队列,然后逐个触发事件、记录与保存触发后的DOM结构树,最终检查事件中是否存在未触发过的事件,若有,继续爬取;若没有,就输出整个过程中生成的DOM结构树。
2.2 动态页面DOM优化阶段研究
2.2.1 动态页面DOM干扰实验
网络爬虫完成一个URL的爬取时,该URL解析加载后会呈现我们需要的信息,同时,也会呈现一些与我们无关的信息,从DOM结构树角度来看,这些与我们无关的信息就是干扰元素。在检索DOM结构中关键信息时,也会检索这些干扰信息,会在一定程度上降低这些爬取信息的准确性,所以,我们务必剔除这些干扰信息,找到DOM结构中我们所需要的信息。
2.2.2 动态页面DOM优化分析
综上所述,我们基本能完成Ajax页面信息的爬取工作,获取用户需要的主题度、关注度较高的信息,有效解决了传统网络爬虫只能爬取静态页面信息的缺陷。但是,在进行的过程中,我们模拟真实用户会触发大量的时间,产生大量的DOM结构树。如果爬取工作量小,我们能逐个分析DOM结构树,获取有价值的信息,但是逐个分析的方法也不是适用于每个场景。所以,我们需要在上述的Ajax页面信息爬取流程的前提下,做一些优化,以去掉干扰因素。
DOM结构合并树就是合并处理两个或者两个以上的DOM结构。由于在单个的DOM结构中,我们很难立刻找到那些干扰因素。但是,一个网站的开发,首先要做好网站设计工作,此时的设计工作将成为我们合并DOM结构树的关键。因此,我们可以合并处理DOM结构树,由此逆推出网站的布局设计,当两个或两个以上的DOM结构树的设计一致时,这就是DOM结构中的干扰因素,就可以进行剔除了。
3 结束语
信息采集技术在互联网舆情分析中得到广泛的应用,笔者对舆情分析系统的模块总设计以及爬虫策略设计进行了分析研究,希望对今后互联网舆情工作的开展起到一定的促进作用。
参考文献
[1]李庆林,张超,吴芳菲.网络舆情的发展阶段及其特点研究[J].编辑之友,2014(01):011.
[2]李华波,吴礼发,赖海光,等.有效的爬行Ajax页面的网络爬行算法[J].电子科技大学学报,2013(01):026.
[3]王洪威.主题网络爬虫的分析与设计[D].北京:北京邮电大学,2013.