王超群
?
網(wǎng)絡(luò)爬蟲技術(shù)研究
王超群
江漢大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院,湖北 武漢 430056
在互聯(lián)網(wǎng)高速發(fā)展的今天,各類信息數(shù)據(jù)呈爆炸式增長,如何在信息繁雜的“大海”中快速并且準(zhǔn)確的得到我們所需要的數(shù)據(jù),成為了一大難題,并且在互聯(lián)網(wǎng)加的時代,大數(shù)據(jù)云計算紛紛崛起,如何獲取大量的數(shù)據(jù)基礎(chǔ),也成為了一大難題,而網(wǎng)絡(luò)爬蟲是解決這些問題最重要的技術(shù),研究將論述網(wǎng)絡(luò)爬蟲的分類、原理以及其應(yīng)用。
網(wǎng)絡(luò)爬蟲;高效性;深層網(wǎng)絡(luò)爬蟲;信息檢索
網(wǎng)絡(luò)爬蟲(外文名Web Crawler),又被稱為網(wǎng)頁蜘蛛(web Spider),螞蟻、在FOFA社區(qū)中間[1],更經(jīng)常的稱為網(wǎng)頁追逐者,它從萬維網(wǎng)上獲得網(wǎng)頁,并通過網(wǎng)頁中其他鏈接在萬維網(wǎng)上采集信息資源,是按照一定的人為規(guī)則自動識別并抓取萬維網(wǎng)信息的程序和腳本。網(wǎng)絡(luò)爬蟲通常從一些精心挑選的種子URL開始“爬行”,將這些URL放入待抓取的URL隊列,從待抓取的URL隊列中取出URL,解析DNS并且得到主機ip ,并將URL對應(yīng)的網(wǎng)頁下載下來,存儲進(jìn)已下載網(wǎng)頁庫中。直到遍歷Web,這種行為被稱為網(wǎng)絡(luò)爬行(Web Crawler)。
網(wǎng)絡(luò)爬蟲按照系統(tǒng)結(jié)構(gòu)和實現(xiàn)技術(shù),大體上可以分為如下幾類:通用爬蟲(General Purpose Web Crawler)、聚焦網(wǎng)絡(luò)爬蟲(Focused Web Crawler)、深層網(wǎng)絡(luò)爬蟲(Deep Web Crawler)。在實際運用中往往是多種技術(shù)的綜合運用。
2.1 通用網(wǎng)絡(luò)爬蟲
通用爬蟲是從一個或者若干個初始網(wǎng)頁開始,爬取全網(wǎng)的網(wǎng)頁,所以主要用來作為各大網(wǎng)站的搜索引擎,但是由于商業(yè)原因,這些技術(shù)細(xì)節(jié)很少公開,例如Google 、百度等。其主要組成部分大致有URL鏈接庫、文檔內(nèi)容模塊、文檔解析模塊、URL過濾模塊,當(dāng)通用爬蟲工作時,它先從預(yù)定的若干精選的URL開始,獲得初始頁面上的URL列表,并且在爬取URL的同時下載該頁面,再通過文檔解析模塊將需要的內(nèi)容保存到對應(yīng)的數(shù)據(jù)庫中,并再獲得當(dāng)前頁面新的URL,保存到URL鏈接庫中,直到滿足停止條件。
通用爬蟲因為爬行范圍和數(shù)量都十分龐大,導(dǎo)致其對爬行速度以及存儲的要求都很高,并且由于數(shù)量巨大導(dǎo)致待更新的頁面也很多,導(dǎo)致這類爬蟲每次更新都要花費很多時間,總結(jié)起來,其局限性為[2]:(1)由于抓取的是全網(wǎng)頁面,導(dǎo)致采集的信息中包含大量用戶不需要的信息。(2)通用爬蟲大多是針對關(guān)鍵詞檢索,所以對于語義信息的查詢等要求,不易實現(xiàn)。雖然有一定缺陷,但通用網(wǎng)絡(luò)爬蟲在廣泛主題下的搜索,還是有較大的使用價值。
2.2 聚焦網(wǎng)絡(luò)爬蟲
聚焦網(wǎng)絡(luò)爬蟲(Focused Crawler),是一種定向抓取有關(guān)聯(lián)的頁面的資源的爬蟲。聚焦爬蟲通過給定的目標(biāo),有目的性的訪問萬維網(wǎng)上相關(guān)網(wǎng)頁,并且有選擇性的抓取網(wǎng)頁。聚焦爬蟲不像通用爬蟲,它會先通過算法,對獲得的URL進(jìn)行分析并過濾掉和目標(biāo)主題無關(guān)的鏈接,將有用的保留到URL隊列中。接著它會從隊列中通過定好的策略,找到合適的URL,重復(fù)上述過程,直到滿足一定條件后停止爬行。因此,聚焦爬蟲相比通用爬蟲,具有得到信息更精確,效率更高的特點,當(dāng)然,聚焦爬蟲也有其缺陷,如下幾個問題:
(1)如何對目標(biāo)網(wǎng)頁進(jìn)行描述;(2)如何對網(wǎng)頁和數(shù)據(jù)進(jìn)行分析和過濾;(3)對URL 搜索和排序策略。
2.3 深層網(wǎng)絡(luò)爬蟲(Deep Web Crawler)
網(wǎng)絡(luò)數(shù)據(jù)的快速增加,大量數(shù)據(jù)因此累積而被埋藏,而傳統(tǒng)的搜索方式無法搜索到這部分有價值的頁面,所以這部分內(nèi)容對于大部分來說是隱藏的和不可見的,稱之為 Deep Web。2000 年 Bright Planet指出[3]:Deep Web中可訪問信息容量是由靜態(tài)頁面構(gòu)成的Surface Web的幾百倍,是萬維網(wǎng)上數(shù)據(jù)量最大、發(fā)展最快的新型信息資源。實現(xiàn)大規(guī)模 Deep Web頁面的采集是有效的幫助人們快速、準(zhǔn)確地獲取并利用 Deep Web的海量信息的一個有效途徑。
深層網(wǎng)絡(luò)爬蟲與一般爬蟲的相區(qū)別的是,深層網(wǎng)絡(luò)爬蟲在下載完成頁面后,沒有直接將所有URL進(jìn)行遍歷,而是通過特定的算法策略將其進(jìn)行分類處理,對于不同的類型URL使用不同的算法進(jìn)行查詢參數(shù) ,并將參數(shù)二次提交給服務(wù)器。如果提交的查詢參數(shù)正確,才會獲得的到隱藏的頁面和URL。
因為深層網(wǎng)絡(luò)爬蟲的訪問是用戶提交表單查詢的,所以想要爬取到深層頁面需要面對一下問題[4]:(1)需要設(shè)計高效快捷的算法策略,去獲取數(shù)量龐大的深層Web頁面;(2)獲取深層頁面,需要驗證用戶提供的表單信息,一旦出錯,很難獲取頁面;(3)要使用一些腳本語言,去支持分析客戶端的深層Web頁面。
隨著信息技術(shù)的高速發(fā)展,信息化社會逐步走向大數(shù)據(jù)時代,大數(shù)據(jù)的最顯著的特點是數(shù)據(jù)量大、數(shù)據(jù)形式復(fù)雜、數(shù)據(jù)處理速度快和數(shù)據(jù)價值高這四個方面,因為萬維網(wǎng)成為了一個巨大的數(shù)據(jù)庫,所以如何從海量數(shù)據(jù)庫中采集和提取數(shù)據(jù)是我們面臨的挑戰(zhàn)。而網(wǎng)絡(luò)爬蟲的出現(xiàn)為解決這個難題做出了巨大貢獻(xiàn)。網(wǎng)絡(luò)爬蟲在 Web 信息搜索與數(shù)據(jù)挖掘中的應(yīng)用[5],極大地提高了Web信息的采掘質(zhì)量,為整個搜索與挖掘系統(tǒng)奠定堅實的基礎(chǔ);在檔案信息采集中的應(yīng)用[6],為從海量信息中采集和提取與檔案資源建設(shè)相關(guān)信息提供巨大方便;在社交網(wǎng)絡(luò)中,為研究用戶偏好,然后為每個用戶制定個性化方案及趨向預(yù)測提供巨大幫助。
研究對網(wǎng)絡(luò)爬蟲的定義以及原理進(jìn)行介紹,并且對主流的多種爬蟲進(jìn)行了分析,闡述其優(yōu)缺點,并結(jié)合互聯(lián)網(wǎng)加下,最為熱門的大數(shù)據(jù)的應(yīng)用,闡述了網(wǎng)絡(luò)爬蟲的應(yīng)用場景,隨著人們對信息的需求不斷加深,對網(wǎng)絡(luò)爬蟲的研究也會更加深入,網(wǎng)絡(luò)爬蟲也會走向更加智能化、高效化。
[1]Downes,S.Semantic networks and social network ks[J].The Learning Organization,2005,12(5);411-417.
[2]孫立偉,何國輝,吳禮發(fā).網(wǎng)絡(luò)爬蟲技術(shù)的研究[J].電腦知識與技術(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ò)爬蟲設(shè)計[J].現(xiàn)代圖書情報技術(shù),2008(6):41-45.
[5]楊定中.網(wǎng)絡(luò)爬蟲在web信息搜索與數(shù)據(jù)挖掘中應(yīng)用[J].計算機工程與設(shè)計,2009,30(24)12.
[6]楊文剛,韓海濤.大數(shù)據(jù)背景下基于主題網(wǎng)絡(luò)爬蟲的檔案信息采集[J].蘭臺世界,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