




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、爬蟲技術,1,1.概念,網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動的抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻,自動索引,模擬程序或者蠕蟲。 網絡爬蟲是捜索引擎抓取系統的重要組成部分。爬蟲的主要目的是將互聯網上的網頁下載到本地形成一個或聯網內容的鏡像備份。,2,2.網絡爬蟲的基本結構,在網絡爬蟲的系統框架中,主過程由控制器,解析器,資源庫三部分組成。 1.控制器的主要工作是負責給多線程中的各個爬蟲線程分配工作任務。 2.解析器的主要工作是下載網頁,進行頁面的處理,主要是將一些JS腳本標簽、CSS代碼內容、空
2、格字符、HTML標簽等內容處理掉,爬蟲的基本工作是由解析器完成。 3.資源庫是用來存放下載到的網頁資源,一般都采用大型的數據庫存儲,如Oracle數據庫,并對其建立索引。,3,2.網絡爬蟲的基本結構,一個通用的網絡爬蟲的框架,4,3.網絡爬蟲的工作流程,1.首先選取一部分精心挑選的種子URL; 2.將這些URL放入待抓取URL隊列; 3.從待抓取URL隊列中取出待抓取在URL,解析DNS,并且得到主機的ip,并將URL對應的網頁下載下來,存儲進已下載網頁庫中。此外,將這些URL放進已抓取URL隊列。 4.分析已抓取URL隊列中的URL,分析其中的其他URL,并且將URL放入待抓取URL隊列,從
3、而進入下一個循環。,5,4.從爬蟲的角度對互聯網進行劃分,主要可以分為以下5部分: 1.已下載未過期網頁 2.已下載已過期網頁:抓取到的網頁實際上是互聯網內容的一個鏡像與備份,互聯網是動態變化的,一部分互聯網上的內容已經發生了變化,這時,這部分抓取到的網頁就已經過期了。 3.待下載網頁:也就是待抓取URL隊列中的那些頁面 4.可知網頁:還沒有抓取下來,也沒有在待抓取URL隊列中,但是可以通過對已抓取頁面或者待抓取URL對應頁面進行分析獲取到的URL,認為是可知網頁。 5.還有一部分網頁,爬蟲是無法直接抓取下載的。稱為不可知網頁。,6,4.從爬蟲的角度對互聯網進行劃分,7,5.抓取策略,在爬蟲系
4、統中,待抓取URL隊列是很重要的一部分。待抓取URL隊列中的URL以什么樣的順序排列也是一個很重要的問題,因為這涉及到先抓取那個頁面,后抓取哪個頁面。而決定這些URL排列順序的方法,叫做抓取策略。以下圖為例:,8,5.1.深度優先遍歷策略,深度優先遍歷策略是指網絡爬蟲會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉入下一個起始頁,繼續跟蹤鏈接。 遍歷的路徑:A-F-G E-H-I B C D,9,5.2.寬度優先遍歷策略,寬度優先遍歷策略的基本思路是,將新下載網頁中發現的鏈接直接插入待抓取URL隊列的末尾。也就是指網絡爬蟲會先抓取起始網頁中鏈接的所有網頁,然后再選擇其中的一個鏈
5、接網頁,繼續抓取在此網頁中鏈接的所有網頁。還是以上面的圖為例: 遍歷路徑:A-B-C-D-E-F G H I,10,5.3.反向鏈接數策略,反向鏈接數是指一個網頁被其他網頁鏈接指向的數量。反向鏈接數表示的是一個網頁的內容受到其他人的推薦的程度。因此,很多時候搜索引擎的抓取系統會使用這個指標來評價網頁的重要程度,從而決定不同網頁的抓取先后順序。 在真實的網絡環境中,由于廣告鏈接、作弊鏈接的存在,反向鏈接數不能完全等他我那個也的重要程度。因此,搜索引擎往往考慮一些可靠的反向鏈接數。,11,5.4.Partial PageRank策略,Partial PageRank算法借鑒了PageRank算法的
6、思想:對于已經下載的網頁,連同待抓取URL隊列中的URL,形成網頁集合,計算每個頁面的PageRank值,計算完之后,將待抓取URL隊列中的URL按照PageRank值的大小排列,并按照該順序抓取頁面。 如果每次抓取一個頁面,就重新計算PageRank值,一種折中方案是:每抓取K個頁面后,重新計算一次PageRank值。但是這種情況還會有一個問題:對于已經下載下來的頁面中分析出的鏈接,也就是我們之前提到的未知網頁那一部分,暫時是沒有PageRank值的。為了解決這個問題,會給這些頁面一個臨時的PageRank值:將這個網頁所有入鏈傳遞進來的PageRank值進行匯總,這樣就形成了該未知頁面的P
7、ageRank值,從而參與排序。,12,5.5.OPIC策略策略,該算法實際上也是對頁面進行一個重要性打分。在算法開始前,給所有頁面一個相同的初始現金(cash)。當下載了某個頁面P之后,將P的現金分攤給所有從P中分析出的鏈接,并且將P的現金清空。對于待抓取URL隊列中的所有頁面按照現金數進行排序。,13,5.6.大站優先策略,對于待抓取URL隊列中的所有網頁,根據所屬的網站進行分類。對于待下載頁面數多的網站,優先下載。這個策略也因此叫做大站優先策略。,14,6.網站與網絡蜘蛛,網絡蜘蛛需要抓取網頁,不同于一般的訪問,如果控制不好,則會引起網站服務器負擔過重。去年4月,淘寶 就因為雅虎搜索引擎
8、的網絡蜘蛛抓取其數據引起淘寶網服務器的不穩定。 網站是否就無法和網絡蜘蛛交流呢?其實不然,有多種方法可以讓網站和網絡蜘蛛進行交流。一方面讓網站管理員了解網絡蜘蛛都來自哪兒,做了些什么,另一方面也告訴網絡蜘蛛哪些網頁不應該抓取,哪些網頁應該更新。,15,6.網站與網絡蜘蛛,每個網絡蜘蛛都有自己的名字,在抓取網頁的時候,都會向網站標明自己的身份。網絡蜘蛛在抓取網頁的時候會發送一個請求,這個請求中就有一個字段為Useragent,用于標識此網絡蜘蛛的身份。例如Google網絡蜘蛛的標識為GoogleBot,Baidu網絡蜘蛛的標識為BaiDuSpider, Yahoo網絡蜘蛛的標識為Inktomi
9、Slurp。如果在網站上有訪問日志記錄,網站管理員就能知道,哪些搜索引擎的網絡蜘蛛過來過,什么時候過來的,以及讀了多少數據等等。如果網站管理員發現某個蜘蛛有問題,就通過其標識來和其所有者聯系。,16,6.網站與網絡蜘蛛,網絡蜘蛛進入一個網站,一般會訪問一個特殊的文本文件Robots.txt,這個文件一般放在網站服務器的根目錄下,網站管理員可以通過robots.txt來定義哪些目錄網絡蜘蛛不能訪問,或者哪些目錄對于某些特定的網絡蜘蛛不能訪問。例如有些網站的可執行文件目錄和臨時文件目錄不希望被搜索引擎搜索到,那么網站管理員就可以把這些目錄定義為拒絕訪問目錄。 Robots.txt語法很簡單,例如如
10、果對目錄沒有任何限制,可以用以下兩行來描述: User-agent: * Disallow:,17,6.網站與網絡蜘蛛,Robots.txt只是一個協議,如果網絡蜘蛛的設計者不遵循這個協議,網站管理員也無法阻止網絡蜘蛛對于某些頁面的訪問,但一般的網絡蜘蛛都會遵循這些協議,而且網站管理員還可以通過其它方式來拒絕網絡蜘蛛對某些網頁的抓取。,18,6.網站與網絡蜘蛛,網絡蜘蛛在下載網頁的時候,會去識別網頁的HTML代碼,在其代碼的部分,會有META標識。通過這些標識,可以告訴網絡蜘蛛本網頁是否需要被抓取,還可以告訴網絡蜘蛛本網頁中的鏈接是否需要被繼續跟蹤。 例如:表示本網頁不需要被抓取,但是網頁內的
11、鏈接需要被跟蹤。,19,6.網站與網絡蜘蛛,現在一般的網站都希望搜索引擎能更全面的抓取自己網站的網頁,因為這樣可以讓更多的訪問者能通過搜索引擎找到此網站。為了讓本網站的網頁更全面被抓取到,網站管理員可以建立一個網站地圖,即SiteMap。許多網絡蜘蛛會把sitemap.htm文件作為一個網站網頁爬取的入口,網站管理員可以把網站內部所有網頁的鏈接放在這個文件里面,那么網絡蜘蛛可以很方便的把整個網站抓取下來,避免遺漏某些網頁,也會減小對網站服務器的負擔。,20,7.內容提取,搜索引擎建立網頁索引,處理的對象是文本文件。對于網絡蜘蛛來說,抓取下來網頁包括各種格式,包括html、圖片、doc、pdf、
12、多媒體、 動態網頁及其它格式等。這些文件抓取下來后,需要把這些文件中的文本信息提取出來。準確提取這些文檔的信息,一方面對搜索引擎的搜索準確性有重要作用,另一方面對于網絡蜘蛛正確跟蹤其它鏈接有一定影響。 對于doc、pdf等文檔,這種由專業廠商提供的軟件生成的文檔,廠商都會提供相應的文本提取接口。網絡蜘蛛只需要調用這些插件的接口,就可以輕松的提取文檔中的文本信息和文件其它相關的信息。,21,7.內容提取,HTML等文檔不一樣,HTML有一套自己的語法,通過不同的命令標識符來表示不同的字體、顏色、位置等版式,如:、等,提取文本信息時需要把這些標識符都過濾掉。過濾標識符并非難事,因為這些標識符都有一
13、定的規則,只要按照不同的標識符取得相應的信息即可。但在識別這些信息的時候,需要同步記錄許多版式信息,例如文字的字體大小、是否是標題、是否是加粗顯示、是否是頁面的關鍵詞等,這些信息有助于計算單詞在網頁中的重要程度。同時,對于 HTML網頁來說,除了標題和正文以外,會有許多廣告鏈接以及公共的頻道鏈接,這些鏈接和文本正文一點關系也沒有,在提取網頁內容的時候,也需要過濾這些 無用的鏈接。例如某個網站有“產品介紹”頻道,因為導航條在網站內每個網頁都有,若不過濾導航條鏈接,在搜索“產品介紹”的時候,則網站內每個網頁都會搜索到,無疑會帶來大量垃圾信息。過濾這些無效鏈接需要統計大量的網頁結構規律,抽取一些共性
14、,統一過濾;對于一些重要而結果特殊的網站,還需要個別處理。這就需要網絡蜘蛛的設計有一定的擴展性。,22,7.內容提取,對于多媒體、圖片等文件,一般是通過鏈接的錨文本(即,鏈接文本)和相關的文件注釋來判斷這些文件的內容。例如有一個鏈接文字為“張曼玉照片 ”,其鏈接指向一張bmp格式的圖片,那么網絡蜘蛛就知道這張圖片的內容是“張曼玉的照片”。這樣,在搜索“張曼玉”和“照片”的時候都能讓搜索引擎找到這張圖片。另外,許多多媒體文件中有文件屬性,考慮這些屬性也可以更好的了解文件的內容。,23,8.更新周期,由于網站的內容經常在變化,因此網絡蜘蛛也需不斷的更新其抓取網頁的內容,這就需要網絡蜘蛛按照一定的周期去掃描網站,查看哪些頁面是需要更新的頁面,哪些頁面是新增頁面,哪些頁面是已經過期的死鏈接。 搜索引擎的更新周期對搜索引擎搜索的查全率有很大影響。如果更新周期太長,則總會有一部分新生成的網頁搜索不到;周期過短,技術實現會有一定難
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漢語言文學的試題及答案
- 晚春中考試題及答案
- java面試題及答案機器人
- 做法口訣考試題及答案
- 機電工程創新方法論試題及答案
- 軟件設計師考試重要知識點及試題答案
- 應試技巧軟件設計師試題及答案
- 國際法對公共政策的影響試題及答案
- 公共政策過程中的協作機制研究試題及答案
- 網絡工程師持續學習試題及答案
- 2024年紫金礦業集團股份限公司校園招聘歷年高頻500題難、易錯點模擬試題附帶答案詳解
- 消化道出血護理查房7
- 太陽能光伏發電設備采購合同
- 江蘇省常州市教育學會2023-2024學年下學期八年級數學考試卷
- DZ∕T 0214-2020 礦產地質勘查規范 銅、鉛、鋅、銀、鎳、鉬(正式版)
- 2024年新教科版六年級下冊科學期末綜合測試卷(十九)
- 精神科進修匯報
- 2023年新高考天津卷歷史高考真題解析(參考版)
- 人工智能在文化遺產數字化保護中的應用
- GB/T 41666.4-2024地下無壓排水管網非開挖修復用塑料管道系統第4部分:原位固化內襯法
- 智能安防行業的技術應用與商業模式
評論
0/150
提交評論