王超群
?
網(wǎng)絡(luò)爬蟲(chóng)技術(shù)研究
王超群
江漢大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,湖北 武漢 430056
在互聯(lián)網(wǎng)高速發(fā)展的今天,各類信息數(shù)據(jù)呈爆炸式增長(zhǎng),如何在信息繁雜的“大?!敝锌焖俨⑶覝?zhǔn)確的得到我們所需要的數(shù)據(jù),成為了一大難題,并且在互聯(lián)網(wǎng)加的時(shí)代,大數(shù)據(jù)云計(jì)算紛紛崛起,如何獲取大量的數(shù)據(jù)基礎(chǔ),也成為了一大難題,而網(wǎng)絡(luò)爬蟲(chóng)是解決這些問(wèn)題最重要的技術(shù),研究將論述網(wǎng)絡(luò)爬蟲(chóng)的分類、原理以及其應(yīng)用。
網(wǎng)絡(luò)爬蟲(chóng);高效性;深層網(wǎng)絡(luò)爬蟲(chóng);信息檢索
網(wǎng)絡(luò)爬蟲(chóng)(外文名Web Crawler),又被稱為網(wǎng)頁(yè)蜘蛛(web Spider),螞蟻、在FOFA社區(qū)中間[1],更經(jīng)常的稱為網(wǎng)頁(yè)追逐者,它從萬(wàn)維網(wǎng)上獲得網(wǎng)頁(yè),并通過(guò)網(wǎng)頁(yè)中其他鏈接在萬(wàn)維網(wǎng)上采集信息資源,是按照一定的人為規(guī)則自動(dòng)識(shí)別并抓取萬(wàn)維網(wǎng)信息的程序和腳本。網(wǎng)絡(luò)爬蟲(chóng)通常從一些精心挑選的種子URL開(kāi)始“爬行”,將這些URL放入待抓取的URL隊(duì)列,從待抓取的URL隊(duì)列中取出URL,解析DNS并且得到主機(jī)ip ,并將URL對(duì)應(yīng)的網(wǎng)頁(yè)下載下來(lái),存儲(chǔ)進(jìn)已下載網(wǎng)頁(yè)庫(kù)中。直到遍歷Web,這種行為被稱為網(wǎng)絡(luò)爬行(Web Crawler)。
網(wǎng)絡(luò)爬蟲(chóng)按照系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)技術(shù),大體上可以分為如下幾類:通用爬蟲(chóng)(General Purpose Web Crawler)、聚焦網(wǎng)絡(luò)爬蟲(chóng)(Focused Web Crawler)、深層網(wǎng)絡(luò)爬蟲(chóng)(Deep Web Crawler)。在實(shí)際運(yùn)用中往往是多種技術(shù)的綜合運(yùn)用。
2.1 通用網(wǎng)絡(luò)爬蟲(chóng)
通用爬蟲(chóng)是從一個(gè)或者若干個(gè)初始網(wǎng)頁(yè)開(kāi)始,爬取全網(wǎng)的網(wǎng)頁(yè),所以主要用來(lái)作為各大網(wǎng)站的搜索引擎,但是由于商業(yè)原因,這些技術(shù)細(xì)節(jié)很少公開(kāi),例如Google 、百度等。其主要組成部分大致有URL鏈接庫(kù)、文檔內(nèi)容模塊、文檔解析模塊、URL過(guò)濾模塊,當(dāng)通用爬蟲(chóng)工作時(shí),它先從預(yù)定的若干精選的URL開(kāi)始,獲得初始頁(yè)面上的URL列表,并且在爬取URL的同時(shí)下載該頁(yè)面,再通過(guò)文檔解析模塊將需要的內(nèi)容保存到對(duì)應(yīng)的數(shù)據(jù)庫(kù)中,并再獲得當(dāng)前頁(yè)面新的URL,保存到URL鏈接庫(kù)中,直到滿足停止條件。
通用爬蟲(chóng)因?yàn)榕佬蟹秶蛿?shù)量都十分龐大,導(dǎo)致其對(duì)爬行速度以及存儲(chǔ)的要求都很高,并且由于數(shù)量巨大導(dǎo)致待更新的頁(yè)面也很多,導(dǎo)致這類爬蟲(chóng)每次更新都要花費(fèi)很多時(shí)間,總結(jié)起來(lái),其局限性為[2]:(1)由于抓取的是全網(wǎng)頁(yè)面,導(dǎo)致采集的信息中包含大量用戶不需要的信息。(2)通用爬蟲(chóng)大多是針對(duì)關(guān)鍵詞檢索,所以對(duì)于語(yǔ)義信息的查詢等要求,不易實(shí)現(xiàn)。雖然有一定缺陷,但通用網(wǎng)絡(luò)爬蟲(chóng)在廣泛主題下的搜索,還是有較大的使用價(jià)值。
2.2 聚焦網(wǎng)絡(luò)爬蟲(chóng)
聚焦網(wǎng)絡(luò)爬蟲(chóng)(Focused Crawler),是一種定向抓取有關(guān)聯(lián)的頁(yè)面的資源的爬蟲(chóng)。聚焦爬蟲(chóng)通過(guò)給定的目標(biāo),有目的性的訪問(wèn)萬(wàn)維網(wǎng)上相關(guān)網(wǎng)頁(yè),并且有選擇性的抓取網(wǎng)頁(yè)。聚焦爬蟲(chóng)不像通用爬蟲(chóng),它會(huì)先通過(guò)算法,對(duì)獲得的URL進(jìn)行分析并過(guò)濾掉和目標(biāo)主題無(wú)關(guān)的鏈接,將有用的保留到URL隊(duì)列中。接著它會(huì)從隊(duì)列中通過(guò)定好的策略,找到合適的URL,重復(fù)上述過(guò)程,直到滿足一定條件后停止爬行。因此,聚焦爬蟲(chóng)相比通用爬蟲(chóng),具有得到信息更精確,效率更高的特點(diǎn),當(dāng)然,聚焦爬蟲(chóng)也有其缺陷,如下幾個(gè)問(wèn)題:
(1)如何對(duì)目標(biāo)網(wǎng)頁(yè)進(jìn)行描述;(2)如何對(duì)網(wǎng)頁(yè)和數(shù)據(jù)進(jìn)行分析和過(guò)濾;(3)對(duì)URL 搜索和排序策略。
2.3 深層網(wǎng)絡(luò)爬蟲(chóng)(Deep Web Crawler)
網(wǎng)絡(luò)數(shù)據(jù)的快速增加,大量數(shù)據(jù)因此累積而被埋藏,而傳統(tǒng)的搜索方式無(wú)法搜索到這部分有價(jià)值的頁(yè)面,所以這部分內(nèi)容對(duì)于大部分來(lái)說(shuō)是隱藏的和不可見(jiàn)的,稱之為 Deep Web。2000 年 Bright Planet指出[3]:Deep Web中可訪問(wèn)信息容量是由靜態(tài)頁(yè)面構(gòu)成的Surface Web的幾百倍,是萬(wàn)維網(wǎng)上數(shù)據(jù)量最大、發(fā)展最快的新型信息資源。實(shí)現(xiàn)大規(guī)模 Deep Web頁(yè)面的采集是有效的幫助人們快速、準(zhǔn)確地獲取并利用 Deep Web的海量信息的一個(gè)有效途徑。
深層網(wǎng)絡(luò)爬蟲(chóng)與一般爬蟲(chóng)的相區(qū)別的是,深層網(wǎng)絡(luò)爬蟲(chóng)在下載完成頁(yè)面后,沒(méi)有直接將所有URL進(jìn)行遍歷,而是通過(guò)特定的算法策略將其進(jìn)行分類處理,對(duì)于不同的類型URL使用不同的算法進(jìn)行查詢參數(shù) ,并將參數(shù)二次提交給服務(wù)器。如果提交的查詢參數(shù)正確,才會(huì)獲得的到隱藏的頁(yè)面和URL。
因?yàn)樯顚泳W(wǎng)絡(luò)爬蟲(chóng)的訪問(wèn)是用戶提交表單查詢的,所以想要爬取到深層頁(yè)面需要面對(duì)一下問(wèn)題[4]:(1)需要設(shè)計(jì)高效快捷的算法策略,去獲取數(shù)量龐大的深層Web頁(yè)面;(2)獲取深層頁(yè)面,需要驗(yàn)證用戶提供的表單信息,一旦出錯(cuò),很難獲取頁(yè)面;(3)要使用一些腳本語(yǔ)言,去支持分析客戶端的深層Web頁(yè)面。
隨著信息技術(shù)的高速發(fā)展,信息化社會(huì)逐步走向大數(shù)據(jù)時(shí)代,大數(shù)據(jù)的最顯著的特點(diǎn)是數(shù)據(jù)量大、數(shù)據(jù)形式復(fù)雜、數(shù)據(jù)處理速度快和數(shù)據(jù)價(jià)值高這四個(gè)方面,因?yàn)槿f(wàn)維網(wǎng)成為了一個(gè)巨大的數(shù)據(jù)庫(kù),所以如何從海量數(shù)據(jù)庫(kù)中采集和提取數(shù)據(jù)是我們面臨的挑戰(zhàn)。而網(wǎng)絡(luò)爬蟲(chóng)的出現(xiàn)為解決這個(gè)難題做出了巨大貢獻(xiàn)。網(wǎng)絡(luò)爬蟲(chóng)在 Web 信息搜索與數(shù)據(jù)挖掘中的應(yīng)用[5],極大地提高了Web信息的采掘質(zhì)量,為整個(gè)搜索與挖掘系統(tǒng)奠定堅(jiān)實(shí)的基礎(chǔ);在檔案信息采集中的應(yīng)用[6],為從海量信息中采集和提取與檔案資源建設(shè)相關(guān)信息提供巨大方便;在社交網(wǎng)絡(luò)中,為研究用戶偏好,然后為每個(gè)用戶制定個(gè)性化方案及趨向預(yù)測(cè)提供巨大幫助。
研究對(duì)網(wǎng)絡(luò)爬蟲(chóng)的定義以及原理進(jìn)行介紹,并且對(duì)主流的多種爬蟲(chóng)進(jìn)行了分析,闡述其優(yōu)缺點(diǎn),并結(jié)合互聯(lián)網(wǎng)加下,最為熱門的大數(shù)據(jù)的應(yīng)用,闡述了網(wǎng)絡(luò)爬蟲(chóng)的應(yīng)用場(chǎng)景,隨著人們對(duì)信息的需求不斷加深,對(duì)網(wǎng)絡(luò)爬蟲(chóng)的研究也會(huì)更加深入,網(wǎng)絡(luò)爬蟲(chóng)也會(huì)走向更加智能化、高效化。
[1]Downes,S.Semantic networks and social network ks[J].The Learning Organization,2005,12(5);411-417.
[2]孫立偉,何國(guó)輝,吳禮發(fā).網(wǎng)絡(luò)爬蟲(chóng)技術(shù)的研究[J].電腦知識(shí)與技術(shù),2010,6(15):4112-4115.
[3]M K.Bergman.The Deep Web:Surfaceing Hidden Value[EB/OL].http://www.completeplanet.com/Tutorials/DeepWeb,2000.
[4]王舜燕,李蕾,吳兵華.基于ID3分類算法的深度網(wǎng)絡(luò)爬蟲(chóng)設(shè)計(jì)[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2008(6):41-45.
[5]楊定中.網(wǎng)絡(luò)爬蟲(chóng)在web信息搜索與數(shù)據(jù)挖掘中應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(24)12.
[6]楊文剛,韓海濤.大數(shù)據(jù)背景下基于主題網(wǎng)絡(luò)爬蟲(chóng)的檔案信息采集[J].蘭臺(tái)世界,2015(20):20-21.
Research on Web Crawler Technology
Wang Chaoqun
School of mathematics and computer science,Jianghan University,Wuhan,Hubei 430056
The rapid development of the Internet today,all kinds of information and data was explosive growth,how to in the complex information from the "sea" fast and accurately get we need data,has become a big problem,and in the Internet era,the big data cloud computing numerous rise,how to obtain a lot of data base,has also become a major problem,and web crawler is to solve these problems the most important technology.This paper discusses the web crawler's classification,the principle as well as its application.
web crawler;high efficiency;deep web crawler;information retrieval
TP393.09
A
1009-6434(2016)6-0181-02