網路爬蟲技術

來源:互聯網
上載者:User
 

網路爬蟲技術   作者:Ackarlix    隨著網路的迅速發展,全球資訊網成為大量資訊的載體,如何有效地提取並利用這些資訊成為一個巨大的挑戰。搜尋引擎(Search Engine),例如傳統的通用搜尋引擎AltaVista,百度,Yahoo!和Google等,作為一個輔助人們檢索資訊的工具成為使用者訪問全球資訊網的入口和指南。但是,這些通用性搜尋引擎也存在著一定的局限性,如:   (1) 不同領域、不同背景的使用者往往具有不同的檢索目的和需求,通用搜尋引擎所返回的結果包含大量使用者不關心的網頁。  (2) 通用搜尋引擎的目標是儘可能大的網路覆蓋率,有限的搜尋引擎伺服器資源與無限的網路資料資源之間的矛盾將進一步加深。  (3) 全球資訊網資料形式的豐富和網路技術的不斷髮展,圖片、資料庫、音頻視頻多媒體等不同資料大量出現,通用搜尋引擎往往對這些資訊含量密集且具有一定結構的資料無能為力,不能很好地發現和擷取。  (4) 通用搜尋引擎大多提供基於關鍵字的檢索,難以支援根據語義資訊提出的查詢。  為瞭解決上述問題,定向抓取相關網頁資源的聚焦爬蟲應運而生。聚焦爬蟲是一個自動下載網頁的程式,它根據既定的抓取目標,有選擇的訪問全球資訊網上的網頁與相關的連結,擷取所需要的資訊。與通用爬蟲(generalpurpose web crawler)不同,聚焦爬蟲並不追求大的覆蓋,而將目標定為抓取與某一特定主題內容相關的網頁,為面向主題的使用者查詢準備資料資源。   1 聚焦爬蟲工作原理及關鍵技術概述  網路爬蟲是一個自動提取網頁的程式,它為搜尋引擎從全球資訊網上下載網頁,是搜尋引擎的重要組成。傳統爬蟲從一個或若干初始頁面的URL開始,獲得初始頁面上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統的一定停止條件,1(a)流程圖所示。聚焦爬蟲的工作流程較為複雜,需要根據一定的網頁分析演算法過濾與主題無關的連結,保留有用的連結並將其放入等待抓取的URL隊列。然後,它將根據一定的搜尋策略從隊列中選擇下一步要抓取的網頁URL,並重複上述過程,直到達到系統的某一條件時停止,1(b)所示。另外,所有被爬蟲抓取的網頁將會被系統存貯,進行一定的分析、過濾,並建立索引,以便之後的查詢和檢索;對於聚焦爬蟲來說,這一過程所得到的分析結果還可能對以後的抓取過程給出反饋和指導。   相對於通用網路爬蟲,聚焦爬蟲還需要解決三個主要問題:  (1) 對抓取目標的描述或定義;  (2) 對網頁或資料的分析與過濾;  (3) 對URL的搜尋策略。  抓取目標的描述和定義是決定網頁分析演算法與URL搜尋策略如何制訂的基礎。而網頁分析演算法和候選URL排序演算法是決定搜尋引擎所提供的服務形式和爬蟲網頁抓取行為的關鍵所在。這兩個部分的演算法又是緊密相關的。   2 抓取目標描述  現有聚焦爬蟲對抓取目標的描述可分為基於目標網頁特徵、基於目標資料模式和基於領域概念3種。  基於目標網頁特徵的爬蟲所抓取、儲存並索引的對象一般為網站或網頁。根據種子樣本擷取方式可分為:  (1)預先給定的初始抓取種子樣本;  (2)預先給定的網頁分類目錄和與分類目錄對應的種子樣本,如Yahoo!分類結構等;  (3)通過使用者行為確定的抓取目標範例,分為:  a) 使用者瀏覽過程中顯示標註的抓取樣本;  b) 通過使用者日誌挖掘得到訪問模式及相關樣本。  其中,網頁特徵可以是網頁的內容特徵,也可以是網頁的連結結構特徵,等等。  現有的聚焦爬蟲對抓取目標的描述或定義可以分為基於目標網頁特徵,基於目標資料模式和基於領域概念三種。  基於目標網頁特徵的爬蟲所抓取、儲存並索引的對象一般為網站或網頁。具體的方法根據種子樣本的擷取方式可以分為:(1)預先給定的初始抓取種子樣本;(2)預先給定的網頁分類目錄和與分類目錄對應的種子樣本,如Yahoo!分類結構等;(3)通過使用者行為確定的抓取目標範例。其中,網頁特徵可以是網頁的內容特徵,也可以是網頁的連結結構特徵,等等。 設定RSS爬蟲重新訪問的5個層級: Level[1]=20 MinutesLevel[2]=200 MinutesLevel[3]=1000 MinutesLevel[4]=2000 MinutesLevel[5]=10000 Minutes 設定RSS 源的權重為從0到5 RssRank=0 ~ 5 要點:1.每一個RSS 源對應一個時間T[i],這個時間取整就得到 Level 。例如,這個時間是250分鐘,那麼就取Level[2],就是每隔200分鐘抓取一次。2.每一次這個對應時間都是改變的,根據這個RSS源有沒有變化。3.當更新了,這個時間就除以1.2 ,當未更新,這個時間就乘以1.2。4.RssRank起到調整更新時間層級的規則。例如當一個RSS在Level[5],但是它的RssRank是3,那麼更新時間調整為Level[5-3] = Level[2] = 200分鐘。 總體公式: T[i+1] = T[i] [(1.2)(1.2)]T = Level[ AntiLevel[T[i][(1.2)(1.2)]] - RssRank] 經過長時間的運行,T序列都變動非常穩定。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.