一种并行的网上新闻评论中地理位置信息抓取方法
2018-06-06潘欣李浩源
潘欣 李浩源
摘 要:互联网门户网站的评论通常带有地理空间位置信息,对它们进行收集具有较高的决策支持价值。然而,随着网站页面内容的复杂化以及网站门户服务器安全性的提高;单纯的抓取网页提取文本信息方式难以实现有效的地理位置信息提取,本研究提出了一种并行的网上新闻评论地理位置信息抓取方法,通过引入并行化、虚拟浏览器运行、位置模板技术实现了有效的網上新闻评论中地理位置信息的获取。实验表明,通过本方法可以实现快速的海量的网页内容获取。
关键词:空间数据挖掘;地理位置信息;动态评论网页;空间数据收集;社会网络
中图分类号:TP393 文献标志码:A 文章编号:2095-2945(2018)14-0030-03
Abstract: Comments from Internet portals usually contain information of geospatial location, and collecting them has high value of decision support. However, with the complexity of the webpage content and the improvement of the security of the web portal server, it is difficult to effectively extract the geographic location information by simply fetching the webpage to extract text information. In this paper, a parallel method of geo-location information capture for online news reviews is proposed. By introducing parallelization, virtual browser running and location template technology, the effective geo-location information acquisition in online news reviews is realized. Experiments show that this method can achieve a rapid, massive web content acquisition.
Keywords: spatial data mining; geographic location information; dynamic review webpage; spatial data collection; social networks
1 概述
近年来互联网技术发展迅速,新闻的评论是广大网民经常浏览并参与的对象,这些评论通常直接带有地理空间位置信息[1]。这些评论信息每天均会以海量出现,利用空间数据挖掘技术对这些信息加以分析可以地区层面上反映的网民关注的焦点、看法以及经济发展状况,为相关单位提供基于地理位置的决策知识,具有较高的应用价值[2]。近年来出现了大量的利用网络爬虫技术的算法,实现了海量网页信息的收集[3-5]。
当前的方法主要面临两个问题:(1)门户网站服务器的安全性通常较高,单机大量同时访问会被主机禁封,使
得对应程序无法读取到数据;(2)当前网页内容较为丰富通常采用动态加载技术,单纯的HTTP读取文本内容只能获得对应网页的程序框架无法获得真正的内容数据。
针对以上问题,本文提出了一种并行的网上新闻评论中地理位置信息抓取方法(A parallel online location information of Internet news' comments fetching method, P-Fetch),通过引入并行化、虚拟浏览器运行、位置模板技术实现了有效的网上新闻评论中地理位置信息的获取。实验表明,通过本方法可以实现快速的海量的网页内容获取。
2 方法描述
2.1 网页动态信息的抽取
当前主流门户网站的新闻评论均采用动态加载技术,单纯使用HTTP传输方式仅能获得网页的框架结构难于获得其中的文本内容。同时在网页中地理位置信息通常有固定的位置,如图1所示:
针对这些位置信息本方法构造了网页信息模板,每个模板的内容包括:
提取信息的类型ID:对应信息的类型编号。
执行动作类型:分为获取文本内容、点击操作、下拉滚动操作、获得焦点操作。
模板的XPath位置:通过XPath描述图1所示的层级位置结构。
迭代标志:该模板指定的位置是否是多条同级别的信息,如果有需要迭代向下查找。
针对这一模板内容,本方法通过调用浏览器模拟用户访问网站来获取地理位置的信息,对应算法如下:
ContentTemplateFetch 基于模板的内容获取算法
输入:网页URL, 信息获取模板Template
输出:由获取内容构成的XML文件Content
Begin
1:Content=空白XML文件;
2:DOM=启动浏览器访问URL对应的地址,运行网页内容获得其中信息;
3:XPATH, ID=从模板Template中获取内容位置信息和信息对应编号;
4:VALUE=从DOM的XPATH获取文本内容
5:Content←(ID, VALUE);
6:if 模板的迭代标志=true&& XPATH同级别的下一位置还有内容 then
XPATH= XPATH同级别的下一位置;
goto 4;
7:return Content;
End
通过该方法可以实现基于模板网页动态生成内容信息获取。
2.2 方法总体架构
一种并行的网上新聞评论中地理位置信息抓取方法(P-Fetch)运行的系统架构如下图所示:
如图2所示,本文提出的方法运行的系统结构包含如下组成部分:
任务分配服务器:该服务器指定一个待收集的域名(如:http://sports.163.com/)之后,在该域名范围内利用普通网络爬虫收集新闻评论的独立页面,这些页面的URL被加入到待收集列表之中,等待并行内容获取计算机的访问。
并行内容获取计算机:P-Fetch运行的系统环境包含多个不同网段的并行内容获取计算机,这些计算机不断的从任务分配服务器获取任务,获取新闻评论内容并存储到XML文件中,对应的方法如下:
ParallelFetch 并行获取
Begin
1:启动M个进程;构建任务互斥列表MutexList,该列表包含M个
2:foreach (对于M个进程,循环执行如下操作)
2.1:task=读取任务分配服务器的待收集列表,找到一个与MutexList中其他M-1个项目域名差距最大的任务
2.2:将对应任务task的域名存储到MutexList的对应位置
2.3:利用ContentTemplateFetch算法读取task中的内容,并存储到XML文件中
End
利用该方法,每一个并行内容获取计算机可以并行的从网页中读取动态加载的新闻评论信息,并且在每次读取的过程中尽量规避同时对新闻内容服务器集中访问,规避因过量访问引起的被封闭。
数据库服务器:数据库服务器每间隔一定时间访问并行内容获取计算机,获取其存储的新闻评论XML文件并存储到数据库之中。
通过P-Fetch方法,可以实现大量的新闻评论数据收集工作,由于采用多计算机同时执行,每个计算机采用多任务并行,可以达到较高的收集速度。
3 实验
本文提出的方法采用C#和Python实现,其中C#用于服务器端用户界面的交互,Python负责运行浏览器并获取数据。以网易的体育、财经、科技、时尚和汽车这五个栏目作为新闻评论数据收集的来源,以2017年1月至2月
作为收集的时间范围;实验计算机环境采用Intel I5/8G 的计算机,每台并行内容获取计算机最大进程数指定为20,P-Fetch方法获取全部数据的速度与容获取计算机的个数关系如下图所示:
从图中可以看出,利用本文提出的P-Fetch方法可以充分利用多计算机并行计算能力,随着更多内容获取计算机的加入,获取数据的速度明显加快。
4 结束语
从Internet的新闻评论中的地理位置信息是一种辅助决策的大数据,快速有效的获取此类数据对于构建高效的决策支持系统、提高企业的竞争力十分重要。本文提出了一种并行的网上新闻评论中地理位置信息抓取方法,通过多机并行、虚拟浏览器运行、基于模板的内容获取可以实现快速的新闻评论中的地理位置信息的获取,具有较高的实际应用价值。
参考文献:
[1]Mok D, Wellman B, Basu R. Did distance matter before the Internet: Interpersonal contact and support in the 1970s[J].Social Networks, 2007,39(3):430-461.
[2]Anderson K, Schram A. Design and implementation of a data analytics infrastructure in support of crisis informatics research[C].Proceedings of the 33rd International Conference on Software Engineering, Hawaii, USA, 2011:844-847.
[3]Pastor-Satorras R, Vespignani A. Evolution and structure of the Internet: A statistical physics approach[M]. Cambridge University Press, 2004.
[4]Menczer F, Belew R. Adaptive retrieval agents: Internalizing local context and scaling up to the Web[J].Machine Learning, 2000,39(2):203-242.
[5]Menczer F. Mapping the semantics of web text and links[J].IEEE Internet Computing, 2005,9(3):27-36.