什么是網(wǎng)建站絡爬蟲
相對于通用網(wǎng)絡爬蟲,聚焦爬蟲還需要解決三個主要問題:?
2 、抓取目標描述?
很大程度上借用了文本檢索的技術。文本分析算法可以快速有效的對網(wǎng)頁進行分類和聚類,但是由于忽略了網(wǎng)頁間和網(wǎng)頁內部的結構信息,很少單獨使用。?
2) 超文本分類和聚類算法
隨著網(wǎng)絡的迅速發(fā)展,萬維網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰(zhàn)。搜索引擎(Search Engine),例如傳統(tǒng)的通用搜索引擎AltaVista,Yahoo!和Google等,作為一個輔助人們檢索信息的工具成為用戶訪問萬維網(wǎng)的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性,如:? 網(wǎng)絡爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡機器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動的抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻,自動索引,模擬程序或者蠕蟲。
基于目標網(wǎng)頁特征的爬蟲所抓取、存儲并索引的對象一般為網(wǎng)站或網(wǎng)頁。根據(jù)種子樣本獲取方式可分為:?
4.2 基于網(wǎng)頁內容的網(wǎng)頁分析算法?
#p#分頁標題#e#
網(wǎng)頁的抓取策略可以分為深度優(yōu)先、廣度優(yōu)先和最佳優(yōu)先三種。深度優(yōu)先在很多情況下會導致爬蟲的陷入(trapped)問題,目前常見的是廣度優(yōu)先和最佳優(yōu)先方法。?
廣度優(yōu)先搜索策略是指在抓取過程中,在完成當前層次的搜索后,才進行下一層次的搜索。該算法的設計和實現(xiàn)相對簡單。在目前為覆蓋盡可能多的網(wǎng)頁,一般使用廣度優(yōu)先搜索方法。也有很多研究將廣度優(yōu)先搜索策略應用于聚焦爬蟲中。其基本思想是認為與初始URL在一定鏈接距離內的網(wǎng)頁具有主題相關性的概率很大。另外一種方法是將廣度優(yōu)先搜索與網(wǎng)頁過濾技術結合使用,先用廣度優(yōu)先策略抓取網(wǎng)頁,再將其中無關的網(wǎng)頁過濾掉。這些方法的缺點在于,隨著抓取網(wǎng)頁的增多,大量的無關網(wǎng)頁將被下載并過濾,算法的效率將變低。?
4.1.3 網(wǎng)頁塊粒度的分析算法?
(2) 對網(wǎng)頁或數(shù)據(jù)的分析與過濾;?
(1) 不同領域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結果包含大量用戶不關心的網(wǎng)頁。?
?。?) 預先給定的初始抓取種子樣本;?
4.1.2 網(wǎng)站粒度的分析算法?
1) 純文本分類與聚類算法 ?
網(wǎng)頁分析算法可以歸納為基于網(wǎng)絡拓撲、基于網(wǎng)頁內容和基于用戶訪問行為三種類型。?
基于目標網(wǎng)頁特征的爬蟲所抓取、存儲并索引的對象一般為網(wǎng)站或網(wǎng)頁。具體的方法根據(jù)種子樣本的獲取方式可以分為:(1)預先給定的初始抓取種子樣本;(2)預先給定的網(wǎng)頁分類目錄和與分類目錄對應的種子樣本,如Yahoo!分類結構等;(3)通過用戶行為確定的抓取目標樣例。其中,網(wǎng)頁特征可以是網(wǎng)頁的內容特征,也可以是網(wǎng)頁的鏈接結構特征,等等。?
(3) 對URL的搜索策略。?
4.1 基于網(wǎng)絡拓撲的分析算法?
PageRank和HITS算法是最常見的鏈接分析算法,兩者都是通過對網(wǎng)頁間鏈接度的遞歸和規(guī)范化計算,得到每個網(wǎng)頁的重要度評價。PageRank算法雖然考慮了用戶訪問行為的隨機性和Sink網(wǎng)頁的存在,但忽略了絕大多數(shù)用戶訪問時帶有目的性,即網(wǎng)頁和鏈接與查詢主題的相關性。針對這個問題,HITS算法提出了兩個關鍵的概念:權威型網(wǎng)頁(authority)和中心型網(wǎng)頁(hub)。?
?。?) 預先給定的網(wǎng)頁分類目錄和與分類目錄對應的種子樣本,論壇門戶網(wǎng)站建設,如Yahoo!分類結構等;?
4.1.1 網(wǎng)頁(Webpage)粒度的分析算法?
3.1 廣度優(yōu)先搜索策略?
現(xiàn)有聚焦爬蟲對抓取目標的描述可分為基于目標網(wǎng)頁特征、基于目標數(shù)據(jù)模式和基于領域概念3種。?
基于網(wǎng)頁內容的分析算法指的是利用網(wǎng)頁內容(文本、數(shù)據(jù)等資源)特征進行的網(wǎng)頁評價。網(wǎng)頁的內容從原來的以超文本為主,發(fā)展到后來動態(tài)頁面(或稱為Hidden Web)數(shù)據(jù)為主,后者的數(shù)據(jù)量約為直接可見頁面數(shù)據(jù)(PIW,Publicly Indexable Web)的400~500倍。另一方面,多媒體數(shù)據(jù)、Web Service等各種網(wǎng)絡資源形式也日益豐富。因此,基于網(wǎng)頁內容的分析算法也從原來的較為單純的文本檢索方法,發(fā)展為涵蓋網(wǎng)頁數(shù)據(jù)抽取、機器學習、數(shù)據(jù)挖掘、語義理解等多種方法的綜合應用。本節(jié)根據(jù)網(wǎng)頁數(shù)據(jù)形式的不同,將基于網(wǎng)頁內容的分析算法,歸納以下三類:第一種針對以文本和超鏈接為主的無結構或結構很簡單的網(wǎng)頁;第二種針對從結構化的數(shù)據(jù)源(如RDBMS)動態(tài)生成的頁面,其數(shù)據(jù)不能直接批量訪問;第三種針對的數(shù)據(jù)界于第一和第二類數(shù)據(jù)之間,具有較好的結構,顯示遵循一定模式或風格,且可以直接訪問。?
基于鏈接的抓取的問題是相關頁面主題團之間的隧道現(xiàn)象,即很多在抓取路徑上偏離主題的網(wǎng)頁也指向目標網(wǎng)頁,局部評價策略中斷了在當前路徑上的抓取行為。文獻[21]提出了一種基于反向鏈接(BackLink)的分層式上下文模型(Context Model),用于描述指向目標網(wǎng)頁一定物理跳數(shù)半徑內的網(wǎng)頁拓撲圖的中心Layer0為目標網(wǎng)頁,將網(wǎng)頁依據(jù)指向目標網(wǎng)頁的物理跳數(shù)進行層次劃分,從外層網(wǎng)頁指向內層網(wǎng)頁的鏈接稱為反向鏈接。?
(4) 通用搜索引擎大多提供基于關鍵字的檢索,難以支持根據(jù)語義信息提出的查詢。?
b) 通過用戶日志挖掘得到訪問模式及相關樣本。?
在一個頁面中,往往含有多個指向其他頁面的鏈接,這些鏈接中只有一部分是指向主題相關網(wǎng)頁的,或根據(jù)網(wǎng)頁的鏈接錨文本表明其具有較高重要性。但是,在PageRank和HITS算法中,沒有對這些鏈接作區(qū)分,因此常常給網(wǎng)頁分析帶來廣告等噪聲鏈接的干擾。在網(wǎng)頁塊級別(Block?level)進行鏈接分析的算法的基本思想是通過VIPS網(wǎng)頁分割算法將網(wǎng)頁分為不同的網(wǎng)頁塊(page block),然后對這些網(wǎng)頁塊建立page?to?block和block?to?page的鏈接矩陣,?分別記為Z和X。于是,在page?to?page圖上的網(wǎng)頁塊級別的PageRank為?W?p=X×Z;?在block?to?block圖上的BlockRank為?W?b=Z×X。?已經(jīng)有人實現(xiàn)了塊級別的PageRank和HITS算法,并通過實驗證明,效率和準確率都比傳統(tǒng)的對應算法要好。?
(3) 萬維網(wǎng)數(shù)據(jù)形式的豐富和網(wǎng)絡技術的不斷發(fā)展,圖片、數(shù)據(jù)庫、音頻/視頻多媒體等不同數(shù)據(jù)大量出現(xiàn),通用搜索引擎往往對這些信息含量密集且具有一定結構的數(shù)據(jù)無能為力,不能很好地發(fā)現(xiàn)和獲取。?
(2) 通用搜索引擎的目標是盡可能大的網(wǎng)絡覆蓋率,有限的搜索引擎服務器資源與無限的網(wǎng)絡數(shù)據(jù)資源之間的矛盾將進一步加深。?
其中,網(wǎng)頁特征可以是網(wǎng)頁的內容特征,也可以是網(wǎng)頁的鏈接結構特征,等等。?
推薦閱讀:什么是白帽SEO 什么是黑帽SEO
為了解決上述問題,定向抓取相關網(wǎng)頁資源的聚焦爬蟲應運而生。聚焦爬蟲是一個自動下載網(wǎng)頁的程序,它根據(jù)既定的抓取目標,有選擇的訪問萬維網(wǎng)上的網(wǎng)頁與相關的鏈接,獲取所需要的信息。與通用爬蟲(general?purpose web crawler)不同,聚焦爬蟲并不追求大的覆蓋,而將目標定為抓取與某一特定主題內容相關的網(wǎng)頁,為面向主題的用戶查詢準備數(shù)據(jù)資源。?
3.2 最佳優(yōu)先搜索策略?
現(xiàn)有的聚焦爬蟲對抓取目標的描述或定義可以分為基于目標網(wǎng)頁特征,基于目標數(shù)據(jù)模式和基于領域概念三種。?
抓取目標的描述和定義是決定網(wǎng)頁分析算法與URL搜索策略如何制訂的基礎。而網(wǎng)頁分析算法和候選URL排序算法是決定搜索引擎所提供的服務形式和爬蟲網(wǎng)頁抓取行為的關鍵所在。這兩個部分的算法又是緊密相關的。?
a) 用戶瀏覽過程中顯示標注的抓取樣本;?
基于網(wǎng)頁之間的鏈接,通過已知的網(wǎng)頁或數(shù)據(jù),來對與其有直接或間接鏈接關系的對象(可以是網(wǎng)頁或網(wǎng)站等)作出評價的算法。又分為網(wǎng)頁粒度、網(wǎng)站粒度和網(wǎng)頁塊粒度這三種。?
網(wǎng)站劃分情況分為按域名劃分和按IP地址劃分兩種。文獻[18]討論了在分布式情況下,通過對同一個域名下不同主機、服務器的IP地址進行站點劃分,構造站點圖,利用類似PageRank的方法評價SiteRank。同時,根據(jù)不同文件在各個站點上的分布情況,構造文檔圖,結合SiteRank分布式計算得到DocRank。文獻[18]證明,利用分布式的SiteRank計算,不僅大大降低了單機站點的算法代價,而且克服了單獨站點對整個網(wǎng)絡覆蓋率有限的缺點。附帶的一個優(yōu)點是,常見PageRank 造假難以對SiteRank進行欺騙。?
4.2.1 基于文本的網(wǎng)頁分析算法?
3、網(wǎng)頁搜索策略
網(wǎng)絡爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)上購物商城建設,網(wǎng)絡機器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動的抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻,自動索引,模擬程序或者蠕蟲。
網(wǎng)絡爬蟲是一個自動提取網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,企業(yè)網(wǎng)站建設,是搜索引擎的重要組成。傳統(tǒng)爬蟲從一個或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統(tǒng)的一定停止條件,如圖1(a)流程圖所示。聚焦爬蟲的工作流程較為復雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊列。然后,它將根據(jù)一定的搜索策略從隊列中選擇下一步要抓取的網(wǎng)頁URL,并重復上述過程,直到達到系統(tǒng)的某一條件時停止,如圖1(b)所示。另外,所有被爬蟲抓取的網(wǎng)頁將會被系統(tǒng)存貯,進行一定的分析、過濾,并建立索引,以便之后的查詢和檢索;對于聚焦爬蟲來說,這一過程所得到的分析結果還可能對以后的抓取過程給出反饋和指導。?
網(wǎng)站粒度的資源發(fā)現(xiàn)和管理策略也比網(wǎng)頁粒度的更簡單有效。網(wǎng)站粒度的爬蟲抓取的關鍵之處在于站點的劃分和站點等級(SiteRank)的計算。SiteRank的計算方法與PageRank類似,但是需要對網(wǎng)站之間的鏈接作一定程度抽象,并在一定的模型下計算鏈接的權重。?
1 、聚焦爬蟲工作原理及關鍵技術概述?
(1) 對抓取目標的描述或定義;?
什么是關鍵詞密度 什么是關鍵詞堆砌
4、 網(wǎng)頁分析算法