潘欣 李浩源
摘 要:互聯網門戶網站的評論通常帶有地理空間位置信息,對它們進行收集具有較高的決策支持價值。然而,隨著網站頁面內容的復雜化以及網站門戶服務器安全性的提高;單純的抓取網頁提取文本信息方式難以實現有效的地理位置信息提取,本研究提出了一種并行的網上新聞評論地理位置信息抓取方法,通過引入并行化、虛擬瀏覽器運行、位置模板技術實現了有效的網上新聞評論中地理位置信息的獲取。實驗表明,通過本方法可以實現快速的海量的網頁內容獲取。
關鍵詞:空間數據挖掘;地理位置信息;動態評論網頁;空間數據收集;社會網絡
中圖分類號: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.