采集新浪微博数据建设网络舆情监测系统

相对于其他社会性媒体,微博虽然很年轻,但是发展十分迅猛,近期接连发生的重大事件,例如华为接班人事件和蒙牛诽谤门事件都是由微博引爆的。因此凡是忽视微博采集和跟踪的网络舆情监测系统都有全面性缺陷。

SliceProfile网络舆情监测平台采用MetaSeeker网络采集软件工具包,具有全面的微博监测覆盖能力。微博监测已经广泛应用于海信家电舆情监测和竞品分析、奇瑞汽车舆情监测和危机信息预警和中信信用卡网络危机信息监测分析系统中。

微博网站同早期的社会性媒体有很大的不同,更像一个综合应用软件,而不像传统的网站,也就是所谓的胖客户端或富媒体系统,上述特征有赖于Javascript/AJAX技术。但是,Javascript/AJAX向来是网络数据采集和网络爬虫的克星,除非数据采集系统具有AJAX解析能力,普通的网络爬虫和全文搜索引擎难于获得AJAX管理的数据。本文将以采集新浪微博为例说明MetaSeeker怎样使用自动滚屏方法克服AJAX数据采集困难。注意:因为AJAX网站数据采集情形很多,请在GooSeeker网站搜索“AJAX”查阅各种采集案例。

SliceProfile的核心是中文文本分类器,除此之外,SliceProfile强调对网络信息进行深度挖掘,例如,危机度趋势跟踪和分析,因而需要精确抓取评论数、点击数或者转发数。在新浪微博网页上,一条消息的转发数和评论数采用AJAX异步加载技术,在HTML文档加载完后加载,在微博网页上,一般有50条消息,所有消息的转发数和评论数不是一次性加载好,如果浏览器窗口一开始就最小化,可能一条都不加载。用户在浏览微博消息时,需要滚屏才能看到更多消息,滚动到哪,评论数和转发数就加载到哪。采集这类数据是很有难度的。

MetaSeeker网络数据采集工具包可以自动滚屏,以便激发网页上的AJAX程序将所有消息的转发数和评论数加载上,从DataScraper V4.11.1开始,用户可以使用菜单或者周期性数据采集调度文件微调滚屏参数,以便达到最佳的性能和准确度。需要微调的参数是:额外滚屏次数和滚屏时延。这两个参数都影响到数据采集效率,为了等待转发数和评论数完整加载好,需要时延,时延过长,造成采集效率下降,时延太短,可能来不及发送数据加载请求。设置额外滚屏次数也是为了增加一段时延,确保所有评论数和转发数都加载上。实际滚屏次数是DataScraper计算得到的,再加上这个额外滚屏次数,就是总滚屏次数。如果不设置额外滚屏次数,则不进行滚屏。这两个参数的推荐值分别是:10和2