網(wǎng)絡爬蟲技術(shù)的概述與研究參考模板_第1頁
網(wǎng)絡爬蟲技術(shù)的概述與研究參考模板_第2頁
網(wǎng)絡爬蟲技術(shù)的概述與研究參考模板_第3頁
網(wǎng)絡爬蟲技術(shù)的概述與研究參考模板_第4頁
網(wǎng)絡爬蟲技術(shù)的概述與研究參考模板_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、網(wǎng)絡爬蟲技術(shù)的概述與研究摘要 網(wǎng)絡爬蟲,又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡機器人,隨著網(wǎng)絡的迅速發(fā)展,萬維網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰(zhàn)。搜索引擎 (Search Engine),例如傳統(tǒng)的通用搜索引擎AltaVista,Yahoo!和Google等,作為一個輔助人們檢索信息的工具成為用戶訪問web的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性。為了解決上述問題,定向抓取相關(guān)網(wǎng)頁資源的聚焦爬蟲應運而生。聚焦爬蟲是一個自動下載網(wǎng)頁的程序,它根據(jù)既定的抓取目標,有選擇的訪問萬維網(wǎng)上的網(wǎng)頁與相關(guān)的鏈接,獲取所需要的信息。本文將對網(wǎng)絡爬蟲技術(shù)及其原理進行簡單的介紹

2、,并且給出實例。關(guān)鍵詞網(wǎng)絡爬蟲 聚焦爬蟲 網(wǎng)頁抓取 搜索策略 URL1 / 9一、網(wǎng)絡爬蟲的簡介1、URL在介紹網(wǎng)絡爬蟲之前,先引入URL的相關(guān)知識。URL是URI的一個子集。它是Uniform Resource Locator的縮寫,譯為“統(tǒng)一資源定位符”。通俗地說,URL是Internet上描述信息資源的字符串,主要用在各種WWW客戶程序和服務器程序上,特別是著名的Mosaic。采用URL可以用一種統(tǒng)一的格式來描述各種信息資源,包括文件、服務器的地址和目錄等。URL的格式由三部分組成:·第一部分是協(xié)議(或稱為服務方式)。·第二部分是存有該資源的主機IP地址(有時也包括端

3、口號)。·第三部分是主機資源的具體地址,如目錄和文件名等。第一部分和第二部分用“:/”符號隔開,第二部分和第三部分用“/”符號隔開。第一部分和第二部分是不可缺少的,第三部分有時可以省略。 用URL表示文件時,服務器方式用file表示,后面要有主機IP地址、文件的存取路徑(即目錄)和文件名等信息。有時可以省略目錄和文件名,但“/”符號不能省略。例如file:/ 爬蟲最主要的處理對象就是URL,它根據(jù)URL地址取得所需要的文件內(nèi)容,然后對它進行進一步的處理。2、傳統(tǒng)爬蟲與聚焦爬蟲網(wǎng)絡爬蟲是一個自動提取網(wǎng)頁的程序,它為搜索引擎從web上下載網(wǎng)頁,是搜索引擎的重要組成。 傳統(tǒng)爬蟲從一個或若干

4、初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統(tǒng)的一定停止條件。搜索引擎是基于傳統(tǒng)爬蟲技術(shù)建立的,但其存在著一定的局限性,例如:(1) 不同領(lǐng)域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結(jié)果包含大量用戶不關(guān)心的網(wǎng)頁。(2)通用搜索引擎的目標是盡可能大的網(wǎng)絡覆蓋率,有限的搜索引擎服務器資源與無限的網(wǎng)絡數(shù)據(jù)資源之間的矛盾將進一步加深。(3)萬維網(wǎng)數(shù)據(jù)形式的豐富和網(wǎng)絡技術(shù)的不斷發(fā)展,圖片、數(shù)據(jù)庫、音頻、視頻多媒體等不同數(shù)據(jù)大量出現(xiàn),通用搜索引擎往往對這些信息含量密集且具有一定結(jié)構(gòu)的數(shù)據(jù)無能為力,不能很好地發(fā)

5、現(xiàn)和獲取。(4)通用搜索引擎大多提供基于關(guān)鍵字的檢索,難以支持根據(jù)語義信息提出的查詢。為了解決以上問題,定向抓取網(wǎng)頁的聚焦爬蟲應運而生。 聚焦爬蟲的工作流程較為復雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,保留有用的鏈接并將其放入等待抓取URL的隊列。然后,它將根據(jù)一定的搜索策略從隊列中選擇下一步要抓取的網(wǎng)頁URL,并重復上述過程,直到達到系統(tǒng)的某一條件時停止。二、網(wǎng)絡爬蟲的工作原理 在網(wǎng)絡爬蟲的系統(tǒng)框架中,主過程由控制器,解析器,資源庫三部分組成??刂破鞯闹饕ぷ魇秦撠熃o多線程中的各個爬蟲線程分配工作任務。解析器的主要工作是下載網(wǎng)頁,進行頁面的處理,主要是將一些JS腳本標簽、CSS代

6、碼內(nèi)容、空格字符、HTML標簽等內(nèi)容處理掉,爬蟲的基本工作是由解析器完成。資源庫是用來存放下載到的網(wǎng)頁資源,一般都采用大型的數(shù)據(jù)庫存儲,如Oracle數(shù)據(jù)庫,并對其建立索引。相對于通用網(wǎng)絡爬蟲,聚焦爬蟲還需要解決三個主要問題: (1) 對抓取目標的描述或定義; (2) 對網(wǎng)頁或數(shù)據(jù)的分析與過濾; (3) 對URL的搜索策略。 抓取目標的描述和定義是決定網(wǎng)頁分析算法與URL搜索策略如何制訂的基礎(chǔ)。而網(wǎng)頁分析算法和候選URL排序算法是決定搜索引擎所提供的服務形式和爬蟲網(wǎng)頁抓取行為的關(guān)鍵所在。這兩個部分的算法又是緊密相關(guān)的。1、抓取目標描述現(xiàn)有聚焦爬蟲對抓取目標的描述可分為基于目標網(wǎng)頁特征、基于目標

7、數(shù)據(jù)模式和基于領(lǐng)域概念3種。 基于目標網(wǎng)頁特征的爬蟲所抓取、存儲并索引的對象一般為網(wǎng)站或網(wǎng)頁。根據(jù)種子樣本獲取方式可分為: (1) 預先給定的初始抓取種子樣本; (2) 預先給定的網(wǎng)頁分類目錄和與分類目錄對應的種子樣本,如Yahoo!分類結(jié)構(gòu)等; (3) 通過用戶行為確定的抓取目標樣例,分為: a) 用戶瀏覽過程中顯示標注的抓取樣本; b) 通過用戶日志挖掘得到訪問模式及相關(guān)樣本。 其中,網(wǎng)頁特征可以是網(wǎng)頁的內(nèi)容特征,也可以是網(wǎng)頁的鏈接結(jié)構(gòu)特征,等等。2、網(wǎng)頁搜索策略 網(wǎng)頁的抓取策略可以分為深度優(yōu)先、廣度優(yōu)先和最佳優(yōu)先三種。深度優(yōu)先在很多情況下會導致爬蟲的陷入(trapped)問題,目前常見的

8、是廣度優(yōu)先和最佳優(yōu)先方法。1)廣度優(yōu)先搜索策略 廣度優(yōu)先搜索策略是指在抓取過程中,在完成當前層次的搜索后,才進行下一層次的搜索。該算法的設計和實現(xiàn)相對簡單。在目前為覆蓋盡可能多的網(wǎng)頁,一般使用廣度優(yōu)先搜索方法。也有很多研究將廣度優(yōu)先搜索策略應用于聚焦爬蟲中。其基本思想是認為與初始URL在一定鏈接距離內(nèi)的網(wǎng)頁具有主題相關(guān)性的概率很大。另外一種方法是將廣度優(yōu)先搜索與網(wǎng)頁過濾技術(shù)結(jié)合使用,先用廣度優(yōu)先策略抓取網(wǎng)頁,再將其中無關(guān)的網(wǎng)頁過濾掉。這些方法的缺點在于,隨著抓取網(wǎng)頁的增多,大量的無關(guān)網(wǎng)頁將被下載并過濾,算法的效率將變低。2)最佳優(yōu)先搜索策略 最佳優(yōu)先搜索策略按照一定的網(wǎng)頁分析算法,預測候選UR

9、L與目標網(wǎng)頁的相似度,或與主題的相關(guān)性,并選取評價最好的一個或幾個URL進行抓取。它只訪問經(jīng)過網(wǎng)頁分析算法預測為“有用”的網(wǎng)頁。存在的一個問題是,在爬蟲抓取路徑上的很多相關(guān)網(wǎng)頁可能被忽略,因為最佳優(yōu)先策略是一種局部最優(yōu)搜索算法。因此需要將最佳優(yōu)先結(jié)合具體的應用進行改進,以跳出局部最優(yōu)點。將在第4節(jié)中結(jié)合網(wǎng)頁分析算法作具體的討論。研究表明,這樣的閉環(huán)調(diào)整可以將無關(guān)網(wǎng)頁數(shù)量降低30%90%。3)深度優(yōu)先搜索策略 深度優(yōu)先搜索策略從起始網(wǎng)頁開始,選擇一個URL進入,分析這個網(wǎng)頁中的URL,選擇一個再進入。如此一個鏈接一個鏈接地抓取下去,直到處理完一條路線之后再處理下一條路線。深度優(yōu)先策略設計較為簡單

10、。然而門戶網(wǎng)站提供的鏈接往往最具價值,PageRank也很高,但每深入一層,網(wǎng)頁價值和PageRank都會相應地有所下降。這暗示了重要網(wǎng)頁通常距離種子較近,而過度深入抓取到的網(wǎng)頁卻價值很低。同時,這種策略抓取深度直接影響著抓取命中率以及抓取效率,對抓取深度是該種策略的關(guān)鍵。相對于其他兩種策略而言。此種策略很少被使用。3、網(wǎng)頁分析算法 網(wǎng)頁分析算法可以歸納為基于網(wǎng)絡拓撲、基于網(wǎng)頁內(nèi)容和基于用戶訪問行為三種類型。 1)基于網(wǎng)絡拓撲的分析算法 基于網(wǎng)頁之間的鏈接,通過已知的網(wǎng)頁或數(shù)據(jù),來對與其有直接或間接鏈接關(guān)系的對象(可以是網(wǎng)頁或網(wǎng)站等)作出評價的算法。又分為網(wǎng)頁粒度、網(wǎng)站粒度和網(wǎng)頁塊粒度這三種。

11、 a、網(wǎng)頁(Webpage)粒度的分析算法 PageRank和HITS算法是最常見的鏈接分析算法,兩者都是通過對網(wǎng)頁間鏈接度的遞歸和規(guī)范化計算,得到每個網(wǎng)頁的重要度評價。 PageRank算法雖然考慮了用戶訪問行為的隨機性和Sink網(wǎng)頁的存在,但忽略了絕大多數(shù)用戶訪問時帶有目的性,即網(wǎng)頁和鏈接與查詢主題的相關(guān)性。針 對這個問題,HITS算法提出了兩個關(guān)鍵的概念:權(quán)威型網(wǎng)頁(authority)和中心型網(wǎng)頁(hub)。 基于鏈接的抓取的問題是相關(guān)頁面主題團之間的隧道現(xiàn)象,即很多在抓取路徑上偏離主題的網(wǎng)頁也指向目標網(wǎng)頁,局部評價策略中斷了在當前路徑上的抓取 行為。文獻21提出了一種基于反向鏈接(B

12、ackLink)的分層式上下文模型(Context Model),用于描述指向目標網(wǎng)頁一定物理跳數(shù)半徑內(nèi)的網(wǎng)頁拓撲圖的中心Layer0為目標網(wǎng)頁,將網(wǎng)頁依據(jù)指向目標網(wǎng)頁的物理跳數(shù)進行層次劃分,從外 層網(wǎng)頁指向內(nèi)層網(wǎng)頁的鏈接稱為反向鏈接。 b、網(wǎng)站粒度的分析算法 網(wǎng)站粒度的資源發(fā)現(xiàn)和管理策略也比網(wǎng)頁粒度的更簡單有效。網(wǎng)站粒度的爬蟲抓取的關(guān)鍵之處在于站點的劃分和站點等級(SiteRank)的計算。 SiteRank的計算方法與PageRank類似,但是需要對網(wǎng)站之間的鏈接作一定程度抽象,并在一定的模型下計算鏈接的權(quán)重。 網(wǎng)站劃分情況分為按域名劃分和按IP地址劃分兩種。文獻18討論了在分布式情況下,

13、通過對同一個域名下不同主機、服務器的IP地址進行站 點劃分,構(gòu)造站點圖,利用類似PageRank的方法評價SiteRank。同時,根據(jù)不同文件在各個站點上的分布情況,構(gòu)造文檔圖,結(jié)合 SiteRank分布式計算得到DocRank。文獻18證明,利用分布式的SiteRank計算,不僅大大降低了單機站點的算法代價,而且克服了單 獨站點對整個網(wǎng)絡覆蓋率有限的缺點。附帶的一個優(yōu)點是,常見PageRank 造假難以對SiteRank進行欺騙。 c、網(wǎng)頁塊粒度的分析算法 在一個頁面中,往往含有多個指向其他頁面的鏈接,這些鏈接中只有一部分是指向主題相關(guān)網(wǎng)頁的,或根據(jù)網(wǎng)頁的鏈接錨文本表明其具有較高重要性。但

14、是,在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算法,并通過實

15、驗證明,效率和準確率都比傳統(tǒng)的對應算法要好。 2)基于網(wǎng)頁內(nèi)容的網(wǎng)頁分析算法 基于網(wǎng)頁內(nèi)容的分析算法指的是利用網(wǎng)頁內(nèi)容(文本、數(shù)據(jù)等資源)特征進行的網(wǎng)頁評價。網(wǎng)頁的內(nèi)容從原來的以超文本為主,發(fā)展到后來動態(tài)頁面(或稱 為Hidden Web)數(shù)據(jù)為主,后者的數(shù)據(jù)量約為直接可見頁面數(shù)據(jù)(PIW,Publicly Indexable Web)的400500倍。另一方面,多媒體數(shù)據(jù)、Web Service等各種網(wǎng)絡資源形式也日益豐富。因此,基于網(wǎng)頁內(nèi)容的分析算法也從原來的較為單純的文本檢索方法,發(fā)展為涵蓋網(wǎng)頁數(shù)據(jù)抽取、機器學習、數(shù)據(jù) 挖掘、語義理解等多種方法的綜合應用。本節(jié)根據(jù)網(wǎng)頁數(shù)據(jù)形式的不同,將基

16、于網(wǎng)頁內(nèi)容的分析算法,歸納以下三類:第一種針對以文本和超鏈接為主的無結(jié)構(gòu)或結(jié) 構(gòu)很簡單的網(wǎng)頁;第二種針對從結(jié)構(gòu)化的數(shù)據(jù)源(如RDBMS)動態(tài)生成的頁面,其數(shù)據(jù)不能直接批量訪問;第三種針對的數(shù)據(jù)界于第一和第二類數(shù)據(jù)之間,具有 較好的結(jié)構(gòu),顯示遵循一定模式或風格,且可以直接訪問。三、小結(jié)1、網(wǎng)絡爬蟲安全性問題網(wǎng)絡爬蟲會占用網(wǎng)絡帶寬并增加Web服務器的處理開銷,惡意用戶甚至會利用爬蟲程序?qū)Ψ掌靼l(fā)動Dos攻擊。惡意用戶還可能通過網(wǎng)絡爬蟲抓取各種敏感資料,主要表現(xiàn)在以下幾個方面:        1)搜索目錄列表:互聯(lián)網(wǎng)中的許多Web

17、服務器在客戶端請求站點中某個沒有默認頁面的目錄時,會返回一個目錄列表。該目錄列表通常包括一個描述當前目錄的標題,可供用戶點擊的目錄和文件鏈接,及一個腳注。因而通過抓取目錄列表,惡意用戶往往可獲取大量有用的資料,包括站點的目錄結(jié)構(gòu)、敏感文件以及Web 服務器配置信息等等。         2)搜索測試頁面、聯(lián)機手冊與樣本程序:大多數(shù)Web 服務器軟件附帶了測試頁面、聯(lián)機手冊與樣本程序。這些文件往往會泄漏大量的系統(tǒng)信息,成為惡意用戶剖析Web 服務器的工具,而且這些文件的存在也往往暗示網(wǎng)站的安全管理有問題,網(wǎng)站中存在潛

18、在的安全漏洞。        3)搜索管理員登錄頁面:許多網(wǎng)絡產(chǎn)品提供了基于Web的管理接口,允許管理員在互聯(lián)網(wǎng)中對其進行遠程管理與控制。如果管理員疏于防范,沒有修改網(wǎng)絡產(chǎn)品默認的管理員名及密碼,一旦其管理員登錄頁面被惡意用戶搜索到,網(wǎng)絡安全將面臨極大威脅。          4) 搜索互聯(lián)網(wǎng)用戶的姓名、電話、通信地址等個人信息,以便于實施社交攻擊。        &

19、#160; 5) 搜集群發(fā)垃圾郵件所需的郵件地址。          6) 查找一個站點中的各種敏感文件,包括各種程序使用的配置文件、日志文件、密碼文件、數(shù)據(jù)庫文件等等。          7) 搜索Web 站點中存在缺陷的程序。          8) 獲取互聯(lián)網(wǎng)用戶的信用卡密碼,銀行帳號等機密信息等等。  

20、;        因此,采取適當?shù)拇胧┫拗凭W(wǎng)絡爬蟲的訪問權(quán)限,對于保持網(wǎng)站的正常運行、保護用戶的隱私是極其重要的。2、網(wǎng)絡爬蟲的最新發(fā)展        傳統(tǒng)的網(wǎng)絡爬蟲技術(shù)主要應用于抓取靜態(tài)Web 網(wǎng)頁,隨著AJAX/Web2.0的流行,如何抓取AJAX 等動態(tài)頁面成了搜索引擎急需解決的問題,因為AJAX顛覆了傳統(tǒng)的純HTTP 請求/響應協(xié)議機制,如果搜索引擎依舊采用“爬”的機制,是無法抓取到AJAX 頁面的有效數(shù)據(jù)的。    &

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論