




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、網絡爬蟲基本原理網絡爬蟲是搜索引擎抓取系統的重要組成部分。爬蟲的主要目的是將互聯網上的網頁下載到本地形成一個或聯網內容的鏡像備份。這篇 博客主要對爬蟲以及抓取系統進行一個簡單的概述。一、網絡爬蟲的基本結構及工作流程一個通用的網絡爬蟲的框架如圖所示:網絡爬蟲的基本工作流程如下:1 .首先選取一部分精心挑選的種子URL;;2 .將這些URL放入待抓取URL隊列;3 .從待抓取URL隊列中取出待抓取在 URL,解析DNS,并且得到主機的ip,并將URL對應的網頁下載下來,存儲進已下載網頁庫中 此外,將這些URL放進已抓取URL隊列。4 .分析已抓取URL隊列中的URL,分析其中的其他 URL,并且將
2、URL放入待抓取URL隊列,從而進入下一個循環。二、從爬蟲的角度對互聯網進行劃分對應的,可以將互聯網的所有頁面分為五個部分:已下載待下載可如M頁不可知網頁1 .已下載未過期網頁2 .已下載已過期網頁:抓取到的網頁實際上是互聯網內容的一個鏡像與備份,互聯網是動態變化的,一部分互聯網上的內容已經發生了變化,這時,這部分抓取到的網頁就已經過期了。3 .待下載網頁:也就是待抓取 URL隊列中的那些頁面4 .可知網頁:還沒有抓取下來,也沒有在待抓取URL隊列中,但是可以通過對已抓取頁面或者待抓取URL對應頁面進行分析獲取到的URL,認為是可知網頁。5 .還有一部分網頁,爬蟲是無法直接抓取下載的。稱為不可
3、知網頁。三、抓取策略在爬蟲系統中,待抓取 URL隊列是很重要的一部分。待抓取 URL隊列中的URL以什么樣的順序排列也是一個很重要的問題,因為這涉及到先抓取那個頁面,后抓取哪個頁面。而決定這些URL排列順序的方法,叫做抓取策略。下面重點介紹幾種常見的抓取策略:1 .深度優先遍歷策略深度優先遍歷策略是指網絡爬蟲會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉入下一個起始頁,繼續跟蹤鏈接。我們以下面的圖為例:遍歷的路徑: A-F-G E-H-I B C D2 .寬度優先遍歷策略寬度優先遍歷策略的基本思路是,將新下載網頁中發現的鏈接直接插入待抓取URL隊列的末尾。也就是指網絡爬蟲會先
4、抓取起始網頁中鏈接的所有網頁,然后再選擇其中的一個鏈接網頁,繼續抓取在此網頁中鏈接的所有網頁。還是以上面的圖為例:遍歷路徑:A-B-C-D-E-F G H I3 .反向鏈接數策略反向鏈接數是指一個網頁被其他網頁鏈接指向的數量。反向鏈接數表示的是一個網頁的內容受到其他人的推薦的程度。因此,很多時 候搜索引擎的抓取系統會使用這個指標來評價網頁的重要程度,從而決定不同網頁的抓取先后順序。在真實的網絡環境中,由于廣告鏈接、作弊鏈接的存在,反向鏈接數不能完全等他我那個也的重要程度。因此,搜索引擎往往考慮一 些可靠的反向鏈接數。4 .Partial PageRank 策略Partial PageRank
5、算法借鑒了 PageRank算法的思想:對于已經下載的網頁,連同待抓取 URL隊列中的URL,形成網頁集合,計算 每個頁面的PageRank值,計算完之后,將待抓取URL隊列中的URL按照PageRank值的大小排列,并按照該順序抓取頁面。如果每次抓取一個頁面,就重新計算PageRank值,一種折中方案是:每抓取K個頁面后,重新計算一次 PageRank值。但是這種情況還會有一個問題:對于已經下載下來的頁面中分析出的鏈接,也就是我們之前提到的未知網頁那一部分,暫時是沒有PageRank值的。為了解決這個問題,會給這些頁面一個臨時的PageRank值:將這個網頁所有入鏈傳遞進來的PageRank
6、值進行匯總,這樣就形成了該未知頁面的 PageRank值,從而參與排序。下面舉例說明:5 .OPIC策略策略p之后,該算法實際上也是對頁面進行一個重要性打分。在算法開始前,給所有頁面一個相同的初始現金(cash )。當下載了某個頁面將P的現金分攤給所有從 P中分析出的鏈接,并且將 P的現金清空。對于待抓取 URL隊列中的所有頁面按照現金數進行排序。6.大站優先策略對于待抓取URL隊列中的所有網頁,根據所屬的網站進行分類。對于待下載頁面數多的網站,優先下載。這個策略也因此叫做大站優 先策略。四、更新策略互聯網是實時變化的,具有很強的動態性。網頁更新策略主要是決定何時更新之前已經下載過的頁面。常見
7、的更新策略又以下三種:1 .歷史參考策略顧名思義,根據頁面以往的歷史更新數據,預測該頁面未來何時會發生變化。一般來說,是通過泊松過程進行建模進行預測。2 .用戶體驗策略盡管搜索引擎針對于某個查詢條件能夠返回數量巨大的結果,但是用戶往往只關注前幾頁結果。因此,抓取系統可以優先更新那些現 實在查詢結果前幾頁中的網頁,而后再更新那些后面的網頁。這種更新策略也是需要用到歷史信息的。用戶體驗策略保留網頁的多個歷 史版本,并且根據過去每次內容變化對搜索質量的影響,得出一個平均值,用這個值作為決定何時重新抓取的依據。3 .聚類抽樣策略前面提到的兩種更新策略都有一個前提:需要網頁的歷史信息。這樣就存在兩個問題
8、:第一,系統要是為每個系統保存多個版本的歷史信息,無疑增加了很多的系統負擔;第二,要是新的網頁完全沒有歷史信息,就無法確定更新策略。這種策略認為,網頁具有很多屬性,類似屬性的網頁,可以認為其更新頻率也是類似的。要計算某一個類別網頁的更新頻率,只需要對這一類網頁抽樣,以他們的更新周期作為整個類別的更新周期。基本思路如圖:鞠定更新閽明m定里新用胡釀定更新周期五、分布式抓取系統結構一般來說,抓取系統需要面對的是整個互聯網上數以億計的網頁。單個抓取程序不可能完成這樣的任務。往往需要多個抓取程序一起來處理。一般來說抓取系統往往是一個分布式的三層結構。如圖所示:最下一層是分布在不同地理位置的數據中心,在每
9、個數據中心里有若干臺抓取服務器,而每臺抓取服務器上可能部署了若干套爬蟲程序。這就構成了一個基本的分布式抓取系統。對于一個數據中心內的不同抓去服務器,協同工作的方式有幾種:1 .主從式(Master-Slave )主從式基本結構如圖所示:對于主從式而言,有一臺專門的Master服務器來維護待抓取 URL隊列,它負責每次將 URL分發到不同的Slave服務器,而Slave服務器則負責實際的網頁下載工作。Master服務器除了維護待抓取 URL隊列以及分發URL之外,還要負責調解各個Slave服務器的負 載情況。以免某些 Slave服務器過于清閑或者勞累這種模式下,Master往往容易成為系統瓶頸。
10、2 .對等式(Peer to Peer )對等式的基本結構如圖所示:在這種模式下,所有的抓取服務器在分工上沒有不同。每一臺抓取服務器都可以從待抓取在URL隊列中獲取URL,然后對該URL的主域名的hash值H,然后計算H mod m (其中m是服務器的數量,以上圖為例,m為3),計算得到的數就是處理該URL的主機編號。舉例:假設又t于URL ,計算器hash值H=8 , m=3 ,則H mod m=2 ,因此由編號為2的服務器進行該鏈接的抓取。假設這日t候是0號服務器拿到這個 URL,那么它將該 URL轉給服務器2,由服務器2進行抓取。這種模式有一個問題,當有一臺服務器死機或者添加新的服務器,那么所有URL的哈希求余的結果就都要變化。也就是說,這種方式 的擴展性不佳。針對這種情況,又有一種改進方案被提出來。這種改進的方案是一致性哈希法來確定服務器分工。其基本結構如圖所示:一致性哈希將URL的主域名進行哈希運算,映射為一個范圍在0-2 32之間的某個數。而將這個范圍平均的分配給m臺服務器,根據URL主域名哈希運算的值所處的范圍判斷是哪臺服務器來進行抓取。如果某一臺服務
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中數學教學中數學建模與創新能力培養研究論文
- 基于核心素養的高中體育教學對學生綜合素質培養的研究論文
- 藝術班安全管理制度
- 蘇北光安全管理制度
- 茶樓服務員管理制度
- 項目經理部管理制度
- 財務會計基礎知識之建制篇
- 課時跟蹤檢測(八)生態系統的能量流動
- 課程筆記|免疫學筆記
- 機床維修案例分析 伺服電機突然不動案例
- 衛生監督協管試題庫
- 抗心律失常藥ppt課件(1)
- 最新口腔醫學修復工藝質量管理學教學大綱教案
- 材料送檢計劃表(共7頁)
- 四輥軋機的計算
- 海洋牧場生態融合漁光互補項目建議書寫作模板
- 07-20電子病歷詳細設計
- (完整word版)浙江監理全套表格
- 車庫電動卷簾門PLC控制設計實用教案
- 系統是成功的秘密
- 糧食局保護糧食安全工作個人先進事跡材料范文
評論
0/150
提交評論