啟達軟件-基于互聯網,致力于企業信息化、ERP、CRM、互聯網+的軟件開發
              啟達軟件
              啟達軟件電話
              技術文章你現的位置:首頁>文章列表>技術文章
              關于網絡爬蟲技術

              或者從事軟件開發的人員都知道搜索引擎這個東西,國內的知名搜索引擎大概也就只有百度了,俗話說“有事找度娘”,這句話就是說百度的強大之處,你可以通過搜索來獲取自己想要的任何東西,因為互聯網的存在就是詮釋了‘我為人人,人人為我’的這個意義!

              當然了,想要獲取自己搜索的東西就要有人來提供,那么別人提供之后,怎么才能展現在我們面前呢,這就需要搜索引擎的爬蟲技術了------百度蜘蛛。

              網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。

              隨著網絡的迅速發展,萬維網成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰。搜索引擎(SearchEngine),例如傳統的通用搜索引擎AltaVista,Yahoo!和Google等,作為一個輔助人們檢索信息的工具成為用戶訪問萬維網的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性。為了解決上述問題,定向抓取相關網頁資源的聚焦爬蟲應運而生。聚焦爬蟲是一個自動下載網頁的程序,它根據既定的抓取目標,有選擇的訪問萬維網上的網頁與相關的鏈接,獲取所需要的信息。與通用爬蟲(generalpurposewebcrawler)不同,聚焦爬蟲并不追求大的覆蓋,而將目標定為抓取與某一特定主題內容相關的網頁,為面向主題的用戶查詢準備數據資源。

              1聚焦爬蟲工作原理以及關鍵技術概述

              網絡爬蟲是一個自動提取網頁的程序,它為搜索引擎從萬維網上下載網頁,是搜索引擎的重要組成。傳統爬蟲從一個或若干初始網頁的URL開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統的一定停止條件。聚焦爬蟲的工作流程較為復雜,需要根據一定的網頁分析算法過濾與主題無關的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊列。然后,它將根據一定的搜索策略從隊列中選擇下一步要抓取的網頁URL,并重復上述過程,直到達到系統的某一條件時停止。另外,所有被爬蟲抓取的網頁將會被系統存貯,進行一定的分析、過濾,并建立索引,以便之后的查詢和檢索;對于聚焦爬蟲來說,這一過程所得到的分析結果還可能對以后的抓取過程給出反饋和指導。

              面臨的問題

              截止到2007年底,Internet上網頁數量超出160億個,研究表明接近30%的頁面是重復的;動態頁面的存在:客戶端、服務器端腳本語言的應用使得指向相同Web信息的URL數量呈指數級增長。上述特征使得網絡爬蟲面臨一定的困難,主要體現在Web信息的巨大容量使得爬蟲在給定時間內只能下載少量網頁。Lawrence和Giles的研究表明沒有哪個搜索引擎能夠索引超出16%的Internet上Web頁面,即使能夠提取全部頁面,也沒有足夠的空間來存儲[1]。

              為提高爬行效率,爬蟲需要在單位時間內盡可能多的獲取高質量頁面,是它面臨的難題之一。當前有五種表示頁面質量高低的方式[1]:Similarity(頁面與爬行主題之間的相似度)、Backlink(頁面在Web圖中的入度大。、PageRank(指向它的所有頁面平均權值之和)、Forwardlink(頁面在Web圖中的出度大。、Location(頁面的信息位置);Parallel(并行性問題)[3]。為了提高爬行速度,網絡通常會采取并行爬行的工作方式,隨之引入了新的問題:重復性(并行運行的爬蟲或爬行線程同時運行時增加了重復頁面)、質量問題(并行運行時,每個爬蟲或爬行線程只能獲取部分頁面,導致頁面質量下降)、通信帶寬代價(并行運行時,各個爬蟲或爬行線程之間不可避免要進行一些通信)。并行運行時,網絡爬蟲通常采用三種方式:獨立方式(各個爬蟲獨立爬行頁面,互不通信)、動態分配方式(由一個中央協調器動態協調分配URL給各個爬蟲)、靜態分配方式(URL事先劃分給各個爬蟲)。

              抓取目標分類

              抓取目標的描述和定義是決定網頁分析算法與URL搜索策略如何制訂的基礎。而網頁分析算法和候選URL排序算法是決定搜索引擎所提供的服務形式和爬蟲網頁抓取行為的關鍵所在。這兩個部分的算法又是緊密相關的。

              現有聚焦爬蟲對抓取目標的描述可分為基于目標網頁特征、基于目標數據模式和基于領域概念3種。

              基于目標網頁特征

              基于目標網頁特征的爬蟲所抓取、存儲并索引的對象一般為網站或網頁。根據種子樣本獲取方式可分為:

              (1)預先給定的初始抓取種子樣本;

              (2)預先給定的網頁分類目錄和與分類目錄對應的種子樣本,如Yahoo!分類結構等;

              (3)通過用戶行為確定的抓取目標樣例,分為:

              (a)用戶瀏覽過程中顯示標注的抓取樣本;

              (b)通過用戶日志挖掘得到訪問模式及相關樣本。

              其中,網頁特征可以是網頁的內容特征,也可以是網頁的鏈接結構特征,等等。

              基于目標數據模式

              基于目標數據模式的爬蟲針對的是網頁上的數據,所抓取的數據一般要符合一定的模式,或者可以轉化或映射為目標數據模式。

              基于領域概念

              另一種描述方式是建立目標領域的本體或詞典,用于從語義角度分析不同特征在某一主題中的重要程度。

              網頁搜索策略

              網頁的抓取策略可以分為深度優先、廣度優先和最佳優先三種。深度優先在很多情況下會導致爬蟲的陷入(trapped)問題,目前常見的是廣度優先和最佳優先方法。

              廣度優先搜索

              廣度優先搜索策略是指在抓取過程中,在完成當前層次的搜索后,才進行下一層次的搜索。該算法的設計和實現相對簡單。在目前為覆蓋盡可能多的網頁,一般使用廣度優先搜索方法。也有很多研究將廣度優先搜索策略應用于聚焦爬蟲中。其基本思想是認為與初始URL在一定鏈接距離內的網頁具有主題相關性的概率很大。另外一種方法是將廣度優先搜索與網頁過濾技術結合使用,先用廣度優先策略抓取網頁,再將其中無關的網頁過濾掉。這些方法的缺點在于,隨著抓取網頁的增多,大量的無關網頁將被下載并過濾,算法的效率將變低。

              最佳優先搜索

              最佳優先搜索策略按照一定的網頁分析算法,預測候選URL與目標網頁的相似度,或與主題的相關性,并選取評價最好的一個或幾個URL進行抓取。它只訪問經過網頁分析算法預測為“有用”的網頁。存在的一個問題是,在爬蟲抓取路徑上的很多相關網頁可能被忽略,因為最佳優先策略是一種局部最優搜索算法。因此需要將最佳優先結合具體的應用進行改進,以跳出局部最優點。將在第4節中結合網頁分析算法作具體的討論。研究表明,這樣的閉環調整可以將無關網頁數量降低30%~90%。

              深度優先搜索

              深度優先搜索策略從起始網頁開始,選擇一個URL進入,分析這個網頁中的URL,選擇一個再進入。如此一個鏈接一個鏈接地抓取下去,直到處理完一條路線之后再處理下一條路線。深度優先策略設計較為簡單。然而門戶網站提供的鏈接往往最具價值,PageRank也很高,但每深入一層,網頁價值和PageRank都會相應地有所下降。這暗示了重要網頁通常距離種子較近,而過度深入抓取到的網頁卻價值很低。同時,這種策略抓取深度直接影響著抓取命中率以及抓取效率,對抓取深度是該種策略的關鍵。相對于其他兩種策略而言。此種策略很少被使用。

              啟達互聯  啟達工具  開發框架.pdf  生產行業案例.pdf

              版權所有:合肥啟達信息技術有限公司 備案號:皖ICP備12015909號-6 Copyright 2001-2012 All rights reserved

              国产 日韩 无码 制服 中文_日本三级观看高清免费_亚洲 欧美 校园 春色 小说