国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

爬蟲技術(shù)綜述

2017-11-20 13:52:52馮俐
電腦知識(shí)與技術(shù) 2017年27期

馮俐

摘要:文章從介紹一般爬蟲的邏輯結(jié)構(gòu)開始,分類綜述了發(fā)展歷史中出現(xiàn)不同協(xié)作方式的順序、并行和分布式爬蟲,通用爬蟲、深度爬蟲以及增量爬蟲等特殊分類的爬蟲,著重介紹了主題爬蟲的原理和相關(guān)策略,優(yōu)勢(shì)、應(yīng)用和問題,最后提出主題爬蟲未來的研究方向。

關(guān)鍵詞:廣域網(wǎng)分布式;Web爬蟲;主題爬蟲;知識(shí)主體

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)27-0213-02

Abstract: This article begins from the introduction of the logical structure of general crawler, reviews the different coordination modes of sequential, parallel and distributed crawler development history, general reptiles, Deep reptiles and incremental reptiles and other special classification of reptiles, focusing on the principles of the topical crawler and related strategies, advantages, applications and problems, and finally proposed the future research direction of the crawler.

Key words: Wan distributed Web crawler; topical crawler; knowledge subject

縱觀爬蟲技術(shù)的發(fā)展,實(shí)質(zhì)是從一個(gè)簡單的自動(dòng)下載網(wǎng)絡(luò)資源的程序,逐步發(fā)展到實(shí)現(xiàn)廣域網(wǎng)范圍內(nèi)分布式協(xié)同的深度挖掘的精細(xì)分析方案。

1 爬蟲結(jié)構(gòu)

從斯坦福大學(xué)設(shè)計(jì)了爬蟲系統(tǒng)的幾個(gè)基本模塊開始,早期的爬蟲結(jié)構(gòu)由四個(gè)部分組成:網(wǎng)頁下載模塊、內(nèi)容分析模塊、URL地址去重以及URL地址分配[1]。經(jīng)過下載模塊中host控制和DNS解析后,得到的網(wǎng)頁再由網(wǎng)頁分析模塊進(jìn)行預(yù)處理和信息抽取,URL分配模塊解決劃分URL策略和性能優(yōu)化問題;在爬取的過程中,URL地址去重考慮消除重復(fù)鏈接。這個(gè)早期的爬蟲結(jié)構(gòu)也是爬蟲程序的基本邏輯,也是順序爬蟲的原型。

2 爬蟲協(xié)作方式的發(fā)展

周中華等人提出了一種并行架構(gòu)的網(wǎng)絡(luò)爬蟲,專門用于新浪微博的數(shù)據(jù)采集[2]。這種并行爬蟲采用一主多從模式。主節(jié)點(diǎn)負(fù)責(zé)整體的抓取隊(duì)列和任務(wù)分配,各個(gè)從節(jié)點(diǎn)僅負(fù)責(zé)按任務(wù)隊(duì)列抓取數(shù)據(jù),抓取過程中獲得的新隊(duì)列則傳回給主節(jié)點(diǎn)進(jìn)行管理和分配。并行架構(gòu)是指多個(gè)從節(jié)點(diǎn)并行抓取數(shù)據(jù)的結(jié)構(gòu)。與串行爬蟲相比,并行爬蟲對(duì)爬取節(jié)點(diǎn)進(jìn)行了角色的分工。周中華等人的實(shí)驗(yàn)證明了并行結(jié)構(gòu)爬蟲的運(yùn)行速度和加速比更優(yōu)于串行爬蟲。

隨著互聯(lián)網(wǎng)的飛速發(fā)展,多機(jī)并行處理網(wǎng)頁內(nèi)容爬取和鏈接的嘗試越來越流行。有學(xué)者提出了廣域網(wǎng)分布式web爬蟲。與上面介紹的并行爬蟲相比,廣域網(wǎng)分布式web爬蟲都采用了并行計(jì)算的方式,更有進(jìn)步的是,融合了分布式系統(tǒng)的主題。由分布在廣域網(wǎng)中不同的地址位置和網(wǎng)絡(luò)位置的代理節(jié)點(diǎn)共同完成并行計(jì)算的任務(wù)[3]。代理節(jié)點(diǎn)之間的協(xié)同可由調(diào)度中心完成,或摒棄調(diào)度中心采用基于DHT的代理節(jié)點(diǎn)自主實(shí)現(xiàn),或兩種方式相結(jié)合。整個(gè)過程中web劃分、代理節(jié)點(diǎn)協(xié)同和代理節(jié)點(diǎn)部署是核心問題。廣域網(wǎng)分布式web爬蟲的評(píng)價(jià)標(biāo)準(zhǔn),也從評(píng)價(jià)傳統(tǒng)爬蟲的指標(biāo)(覆蓋率、重復(fù)率、網(wǎng)頁質(zhì)量、運(yùn)行速度等),擴(kuò)大到涵蓋更多評(píng)價(jià)方面的新指標(biāo):以下載速率和網(wǎng)絡(luò)延遲為參數(shù)的節(jié)點(diǎn)與資源的距離,體現(xiàn)劃分策略的優(yōu)劣性;在抓取過程中,由代理之間交換跨分區(qū)鏈接的所產(chǎn)生的通信數(shù)量與總共抓取的頁面數(shù)相比計(jì)算出來的總通信量;以及當(dāng)系統(tǒng)中代理不斷增加新的線程時(shí),系統(tǒng)的規(guī)模和通信量都在不斷擴(kuò)大,代表系統(tǒng)可擴(kuò)展性的原有線程受影響的程度值。

3 爬蟲分類

以上介紹的屬于通用的網(wǎng)絡(luò)爬蟲,另外,還有一些針對(duì)特定范圍的爬蟲類型。如增量爬蟲、深度爬蟲和主題爬蟲。

3.1 增量爬蟲

增量爬蟲是一種只爬取新增添的頁面或更改內(nèi)容的爬蟲分類,在前期爬取工作獲得本地頁面集合,之后增量爬蟲的目標(biāo)就是保持本地頁面的及時(shí)更新。一般的策略是,根據(jù)局部頁面變化的規(guī)律,在短時(shí)間內(nèi)以不同的頻率多次爬取變化的頁面。

3.2 深度爬蟲

深度爬蟲是專門針對(duì)深層網(wǎng)頁的爬蟲。除了能靜態(tài)獲取的頁面以外,互聯(lián)網(wǎng)上還隱藏有表層頁面幾百倍數(shù)量的深層網(wǎng)頁,它們隱藏在表單之后,需要通過提取表單才能獲得web頁面。與其他爬蟲相比,深度爬蟲增加了一項(xiàng)關(guān)鍵的模塊:表單處理模塊,其中包括表單的分析、處理和響應(yīng)等結(jié)構(gòu),完成自動(dòng)提取、分析、提交表單的任務(wù)。

4 主題爬蟲

4.1 主題爬蟲的原理和策略

除了改進(jìn)爬行計(jì)算方式可以提高爬蟲的運(yùn)行速率等指標(biāo)以外,爬行的爬取范圍和內(nèi)容方面也有探索。劉林2004年發(fā)表主題爬蟲的相關(guān)論文中提出,與普通爬蟲爬取所有鏈接不同,主題爬蟲的設(shè)計(jì)思想就是對(duì)頁面進(jìn)行過濾,將頁面內(nèi)容與要搜索的主題相比較,達(dá)到一定的要求比例才爬取頁面的內(nèi)容[4]。主題爬蟲又名聚焦網(wǎng)絡(luò)爬蟲,通過對(duì)爬取范圍以主題的方式聚焦,提高了爬取的精度,雖然也有頁面遺漏的損失,但綜合效果還是令人滿意。主題爬蟲可以在分布式爬蟲基礎(chǔ)上,著重關(guān)注爬取列表與目的主題的相關(guān)性。

為達(dá)到過濾頁面,聚焦爬取主題的目的,研究者們嘗試了多種方式,大致可分為幾類[5]。一種是基于文字內(nèi)容的爬行策略,文字內(nèi)容主要是指網(wǎng)頁的文本內(nèi)容、鏈接描述和錨文字等等,并以特定的算法計(jì)算出優(yōu)先的爬行列表,放棄一定排名后的爬行隊(duì)列;一種是基于web超鏈圖評(píng)價(jià)的爬行策略,它的思想來源于引文分析理論,采用不同的算法計(jì)算出網(wǎng)頁間超鏈的“價(jià)值”,以此來確定爬行的優(yōu)先順序和放棄的頁面;一種是基于分類器預(yù)測(cè)的方法,借用貝葉斯分類器、SVM等分類預(yù)測(cè)的算法工具,完成對(duì)爬取選擇的有訓(xùn)練的學(xué)習(xí),用以確定優(yōu)先列表和放棄頁面。endprint

4.2 主題爬蟲的優(yōu)勢(shì)及應(yīng)用

無論爬蟲的協(xié)作方式和分類如何不同,主題爬蟲雖然在本文中做為一種分類方式來描述,它更應(yīng)該是一種基礎(chǔ)的爬取思路,它應(yīng)用范圍廣泛,可以與其他的多種協(xié)作方式和類型的爬蟲共同發(fā)揮作用。目前,基于主題爬蟲的專業(yè)搜索引擎成為搜索引擎發(fā)展的主要趨勢(shì)之一。另外在輿情監(jiān)控領(lǐng)域,爬蟲也發(fā)揮著重大的作用。

4.3 主題爬蟲的問題以及發(fā)展趨勢(shì)

主題爬蟲工作過程中會(huì)出現(xiàn)多種問題。一種問題是,如果單單爬取主題詞的頁面,會(huì)損失掉大量的用近似詞描述的網(wǎng)頁內(nèi)容。目前較多的是主題爬蟲與知識(shí)主體相結(jié)合的方式。首先構(gòu)建領(lǐng)域本體知識(shí)庫(或?qū)<姨峁┗蚍e累先驗(yàn)數(shù)據(jù)),獲得比較完備的知識(shí)描述體系;為本體中的概念賦予權(quán)限,能更加準(zhǔn)確的計(jì)算網(wǎng)頁與主題的相關(guān)度,結(jié)合page rank等算法最終能得到比較滿意的爬取結(jié)果。還有一種問題是,待爬取的網(wǎng)頁內(nèi)容有多個(gè)主題,因?yàn)檩^多的無關(guān)主題的存在掩蓋了網(wǎng)頁中包含相關(guān)度高的主題的相關(guān)性,導(dǎo)致整個(gè)網(wǎng)頁的主題相關(guān)性計(jì)算不準(zhǔn)確。有學(xué)者提出采用網(wǎng)頁分塊的方法,穿過網(wǎng)頁中不相關(guān)的分塊到達(dá)相關(guān)度高的分塊。

主題爬蟲未來的研究將會(huì)圍繞如何提高網(wǎng)頁相關(guān)度計(jì)算的準(zhǔn)確性,如何降低計(jì)算的時(shí)空復(fù)雜度,以及如何增強(qiáng)爬蟲的自適應(yīng)性幾個(gè)方面開展。

5 結(jié)束語

在爬蟲的發(fā)展歷史中,以上綜述的各種爬蟲并不一定是按在文中排列先后的時(shí)間順序產(chǎn)生的。文章采用這種排列的原因是方便邏輯闡述。事實(shí)上,不同種類爬蟲的研究是交叉在各個(gè)時(shí)間范圍的。文章在綜述爬蟲結(jié)構(gòu)、爬蟲分類的基礎(chǔ)上,著重介紹了主題爬蟲的原理和策略,優(yōu)勢(shì)與應(yīng)用,問題與發(fā)展。

參考文獻(xiàn):

[1] 周德懋. 高性能網(wǎng)絡(luò)爬蟲研究綜述[J]. 計(jì)算機(jī)科學(xué), 2009,36(8):26-29.

[2] 周中華. 基于Python的新浪微博數(shù)據(jù)爬蟲[J]. 計(jì)算機(jī)應(yīng)用, 2014,34(11):3131-3134.

[3] 許笑. 廣域網(wǎng)分布式Web爬蟲[J]. 軟件學(xué)報(bào), 2010,21(5):1067-1082.

[4] 劉林, 汪濤, 樊孝忠 .主題爬蟲的解決方案[J]. 華南理工大學(xué)學(xué)報(bào):自然科學(xué)版, 2004,21(11):137-141.

[5] 劉金紅, 陸余良. 主題網(wǎng)絡(luò)爬蟲研究綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2007,24(10):26-30.endprint

黔西县| 云龙县| 阳城县| 潞城市| 苍溪县| 汤原县| 双流县| 平邑县| 沙坪坝区| 明溪县| 布拖县| 札达县| 灵璧县| 博罗县| 绥德县| 炉霍县| 织金县| 理塘县| 南江县| 兴安县| 武城县| 湖州市| 固阳县| 姜堰市| 沙湾县| 安西县| 六盘水市| 霞浦县| 新营市| 雅安市| 怀宁县| 万源市| 延寿县| 彭州市| 孝义市| 伊川县| 崇左市| 南溪县| 古田县| 北海市| 玉林市|