版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、爬蟲技術(shù),1,1.概念,網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò)機(jī)器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁(yè)追逐者),是一種按照一定的規(guī)則,自動(dòng)的抓取萬(wàn)維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻,自動(dòng)索引,模擬程序或者蠕蟲。 網(wǎng)絡(luò)爬蟲是捜索引擎抓取系統(tǒng)的重要組成部分。爬蟲的主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁(yè)下載到本地形成一個(gè)或聯(lián)網(wǎng)內(nèi)容的鏡像備份。,2,2.網(wǎng)絡(luò)爬蟲的基本結(jié)構(gòu),在網(wǎng)絡(luò)爬蟲的系統(tǒng)框架中,主過(guò)程由控制器,解析器,資源庫(kù)三部分組成。 1.控制器的主要工作是負(fù)責(zé)給多線程中的各個(gè)爬蟲線程分配工作任務(wù)。 2.解析器的主要工作是下載網(wǎng)頁(yè),進(jìn)行頁(yè)面的處理,主要是將一些JS腳本標(biāo)簽、CSS代碼內(nèi)容、空
2、格字符、HTML標(biāo)簽等內(nèi)容處理掉,爬蟲的基本工作是由解析器完成。 3.資源庫(kù)是用來(lái)存放下載到的網(wǎng)頁(yè)資源,一般都采用大型的數(shù)據(jù)庫(kù)存儲(chǔ),如Oracle數(shù)據(jù)庫(kù),并對(duì)其建立索引。,3,2.網(wǎng)絡(luò)爬蟲的基本結(jié)構(gòu),一個(gè)通用的網(wǎng)絡(luò)爬蟲的框架,4,3.網(wǎng)絡(luò)爬蟲的工作流程,1.首先選取一部分精心挑選的種子URL; 2.將這些URL放入待抓取URL隊(duì)列; 3.從待抓取URL隊(duì)列中取出待抓取在URL,解析DNS,并且得到主機(jī)的ip,并將URL對(duì)應(yīng)的網(wǎng)頁(yè)下載下來(lái),存儲(chǔ)進(jìn)已下載網(wǎng)頁(yè)庫(kù)中。此外,將這些URL放進(jìn)已抓取URL隊(duì)列。 4.分析已抓取URL隊(duì)列中的URL,分析其中的其他URL,并且將URL放入待抓取URL隊(duì)列,從
3、而進(jìn)入下一個(gè)循環(huán)。,5,4.從爬蟲的角度對(duì)互聯(lián)網(wǎng)進(jìn)行劃分,主要可以分為以下5部分: 1.已下載未過(guò)期網(wǎng)頁(yè) 2.已下載已過(guò)期網(wǎng)頁(yè):抓取到的網(wǎng)頁(yè)實(shí)際上是互聯(lián)網(wǎng)內(nèi)容的一個(gè)鏡像與備份,互聯(lián)網(wǎng)是動(dòng)態(tài)變化的,一部分互聯(lián)網(wǎng)上的內(nèi)容已經(jīng)發(fā)生了變化,這時(shí),這部分抓取到的網(wǎng)頁(yè)就已經(jīng)過(guò)期了。 3.待下載網(wǎng)頁(yè):也就是待抓取URL隊(duì)列中的那些頁(yè)面 4.可知網(wǎng)頁(yè):還沒(méi)有抓取下來(lái),也沒(méi)有在待抓取URL隊(duì)列中,但是可以通過(guò)對(duì)已抓取頁(yè)面或者待抓取URL對(duì)應(yīng)頁(yè)面進(jìn)行分析獲取到的URL,認(rèn)為是可知網(wǎng)頁(yè)。 5.還有一部分網(wǎng)頁(yè),爬蟲是無(wú)法直接抓取下載的。稱為不可知網(wǎng)頁(yè)。,6,4.從爬蟲的角度對(duì)互聯(lián)網(wǎng)進(jìn)行劃分,7,5.抓取策略,在爬蟲系
4、統(tǒng)中,待抓取URL隊(duì)列是很重要的一部分。待抓取URL隊(duì)列中的URL以什么樣的順序排列也是一個(gè)很重要的問(wèn)題,因?yàn)檫@涉及到先抓取那個(gè)頁(yè)面,后抓取哪個(gè)頁(yè)面。而決定這些URL排列順序的方法,叫做抓取策略。以下圖為例:,8,5.1.深度優(yōu)先遍歷策略,深度優(yōu)先遍歷策略是指網(wǎng)絡(luò)爬蟲會(huì)從起始頁(yè)開始,一個(gè)鏈接一個(gè)鏈接跟蹤下去,處理完這條線路之后再轉(zhuǎn)入下一個(gè)起始頁(yè),繼續(xù)跟蹤鏈接。 遍歷的路徑:A-F-G E-H-I B C D,9,5.2.寬度優(yōu)先遍歷策略,寬度優(yōu)先遍歷策略的基本思路是,將新下載網(wǎng)頁(yè)中發(fā)現(xiàn)的鏈接直接插入待抓取URL隊(duì)列的末尾。也就是指網(wǎng)絡(luò)爬蟲會(huì)先抓取起始網(wǎng)頁(yè)中鏈接的所有網(wǎng)頁(yè),然后再選擇其中的一個(gè)鏈
5、接網(wǎng)頁(yè),繼續(xù)抓取在此網(wǎng)頁(yè)中鏈接的所有網(wǎng)頁(yè)。還是以上面的圖為例: 遍歷路徑:A-B-C-D-E-F G H I,10,5.3.反向鏈接數(shù)策略,反向鏈接數(shù)是指一個(gè)網(wǎng)頁(yè)被其他網(wǎng)頁(yè)鏈接指向的數(shù)量。反向鏈接數(shù)表示的是一個(gè)網(wǎng)頁(yè)的內(nèi)容受到其他人的推薦的程度。因此,很多時(shí)候搜索引擎的抓取系統(tǒng)會(huì)使用這個(gè)指標(biāo)來(lái)評(píng)價(jià)網(wǎng)頁(yè)的重要程度,從而決定不同網(wǎng)頁(yè)的抓取先后順序。 在真實(shí)的網(wǎng)絡(luò)環(huán)境中,由于廣告鏈接、作弊鏈接的存在,反向鏈接數(shù)不能完全等他我那個(gè)也的重要程度。因此,搜索引擎往往考慮一些可靠的反向鏈接數(shù)。,11,5.4.Partial PageRank策略,Partial PageRank算法借鑒了PageRank算法的
6、思想:對(duì)于已經(jīng)下載的網(wǎng)頁(yè),連同待抓取URL隊(duì)列中的URL,形成網(wǎng)頁(yè)集合,計(jì)算每個(gè)頁(yè)面的PageRank值,計(jì)算完之后,將待抓取URL隊(duì)列中的URL按照PageRank值的大小排列,并按照該順序抓取頁(yè)面。 如果每次抓取一個(gè)頁(yè)面,就重新計(jì)算PageRank值,一種折中方案是:每抓取K個(gè)頁(yè)面后,重新計(jì)算一次PageRank值。但是這種情況還會(huì)有一個(gè)問(wèn)題:對(duì)于已經(jīng)下載下來(lái)的頁(yè)面中分析出的鏈接,也就是我們之前提到的未知網(wǎng)頁(yè)那一部分,暫時(shí)是沒(méi)有PageRank值的。為了解決這個(gè)問(wèn)題,會(huì)給這些頁(yè)面一個(gè)臨時(shí)的PageRank值:將這個(gè)網(wǎng)頁(yè)所有入鏈傳遞進(jìn)來(lái)的PageRank值進(jìn)行匯總,這樣就形成了該未知頁(yè)面的P
7、ageRank值,從而參與排序。,12,5.5.OPIC策略策略,該算法實(shí)際上也是對(duì)頁(yè)面進(jìn)行一個(gè)重要性打分。在算法開始前,給所有頁(yè)面一個(gè)相同的初始現(xiàn)金(cash)。當(dāng)下載了某個(gè)頁(yè)面P之后,將P的現(xiàn)金分?jǐn)偨o所有從P中分析出的鏈接,并且將P的現(xiàn)金清空。對(duì)于待抓取URL隊(duì)列中的所有頁(yè)面按照現(xiàn)金數(shù)進(jìn)行排序。,13,5.6.大站優(yōu)先策略,對(duì)于待抓取URL隊(duì)列中的所有網(wǎng)頁(yè),根據(jù)所屬的網(wǎng)站進(jìn)行分類。對(duì)于待下載頁(yè)面數(shù)多的網(wǎng)站,優(yōu)先下載。這個(gè)策略也因此叫做大站優(yōu)先策略。,14,6.網(wǎng)站與網(wǎng)絡(luò)蜘蛛,網(wǎng)絡(luò)蜘蛛需要抓取網(wǎng)頁(yè),不同于一般的訪問(wèn),如果控制不好,則會(huì)引起網(wǎng)站服務(wù)器負(fù)擔(dān)過(guò)重。去年4月,淘寶 就因?yàn)檠呕⑺阉饕?/p>
8、的網(wǎng)絡(luò)蜘蛛抓取其數(shù)據(jù)引起淘寶網(wǎng)服務(wù)器的不穩(wěn)定。 網(wǎng)站是否就無(wú)法和網(wǎng)絡(luò)蜘蛛交流呢?其實(shí)不然,有多種方法可以讓網(wǎng)站和網(wǎng)絡(luò)蜘蛛進(jìn)行交流。一方面讓網(wǎng)站管理員了解網(wǎng)絡(luò)蜘蛛都來(lái)自哪兒,做了些什么,另一方面也告訴網(wǎng)絡(luò)蜘蛛哪些網(wǎng)頁(yè)不應(yīng)該抓取,哪些網(wǎng)頁(yè)應(yīng)該更新。,15,6.網(wǎng)站與網(wǎng)絡(luò)蜘蛛,每個(gè)網(wǎng)絡(luò)蜘蛛都有自己的名字,在抓取網(wǎng)頁(yè)的時(shí)候,都會(huì)向網(wǎng)站標(biāo)明自己的身份。網(wǎng)絡(luò)蜘蛛在抓取網(wǎng)頁(yè)的時(shí)候會(huì)發(fā)送一個(gè)請(qǐng)求,這個(gè)請(qǐng)求中就有一個(gè)字段為Useragent,用于標(biāo)識(shí)此網(wǎng)絡(luò)蜘蛛的身份。例如Google網(wǎng)絡(luò)蜘蛛的標(biāo)識(shí)為GoogleBot,Baidu網(wǎng)絡(luò)蜘蛛的標(biāo)識(shí)為BaiDuSpider, Yahoo網(wǎng)絡(luò)蜘蛛的標(biāo)識(shí)為Inktomi
9、Slurp。如果在網(wǎng)站上有訪問(wèn)日志記錄,網(wǎng)站管理員就能知道,哪些搜索引擎的網(wǎng)絡(luò)蜘蛛過(guò)來(lái)過(guò),什么時(shí)候過(guò)來(lái)的,以及讀了多少數(shù)據(jù)等等。如果網(wǎng)站管理員發(fā)現(xiàn)某個(gè)蜘蛛有問(wèn)題,就通過(guò)其標(biāo)識(shí)來(lái)和其所有者聯(lián)系。,16,6.網(wǎng)站與網(wǎng)絡(luò)蜘蛛,網(wǎng)絡(luò)蜘蛛進(jìn)入一個(gè)網(wǎng)站,一般會(huì)訪問(wèn)一個(gè)特殊的文本文件Robots.txt,這個(gè)文件一般放在網(wǎng)站服務(wù)器的根目錄下,網(wǎng)站管理員可以通過(guò)robots.txt來(lái)定義哪些目錄網(wǎng)絡(luò)蜘蛛不能訪問(wèn),或者哪些目錄對(duì)于某些特定的網(wǎng)絡(luò)蜘蛛不能訪問(wèn)。例如有些網(wǎng)站的可執(zhí)行文件目錄和臨時(shí)文件目錄不希望被搜索引擎搜索到,那么網(wǎng)站管理員就可以把這些目錄定義為拒絕訪問(wèn)目錄。 Robots.txt語(yǔ)法很簡(jiǎn)單,例如如
10、果對(duì)目錄沒(méi)有任何限制,可以用以下兩行來(lái)描述: User-agent: * Disallow:,17,6.網(wǎng)站與網(wǎng)絡(luò)蜘蛛,Robots.txt只是一個(gè)協(xié)議,如果網(wǎng)絡(luò)蜘蛛的設(shè)計(jì)者不遵循這個(gè)協(xié)議,網(wǎng)站管理員也無(wú)法阻止網(wǎng)絡(luò)蜘蛛對(duì)于某些頁(yè)面的訪問(wèn),但一般的網(wǎng)絡(luò)蜘蛛都會(huì)遵循這些協(xié)議,而且網(wǎng)站管理員還可以通過(guò)其它方式來(lái)拒絕網(wǎng)絡(luò)蜘蛛對(duì)某些網(wǎng)頁(yè)的抓取。,18,6.網(wǎng)站與網(wǎng)絡(luò)蜘蛛,網(wǎng)絡(luò)蜘蛛在下載網(wǎng)頁(yè)的時(shí)候,會(huì)去識(shí)別網(wǎng)頁(yè)的HTML代碼,在其代碼的部分,會(huì)有META標(biāo)識(shí)。通過(guò)這些標(biāo)識(shí),可以告訴網(wǎng)絡(luò)蜘蛛本網(wǎng)頁(yè)是否需要被抓取,還可以告訴網(wǎng)絡(luò)蜘蛛本網(wǎng)頁(yè)中的鏈接是否需要被繼續(xù)跟蹤。 例如:表示本網(wǎng)頁(yè)不需要被抓取,但是網(wǎng)頁(yè)內(nèi)的
11、鏈接需要被跟蹤。,19,6.網(wǎng)站與網(wǎng)絡(luò)蜘蛛,現(xiàn)在一般的網(wǎng)站都希望搜索引擎能更全面的抓取自己網(wǎng)站的網(wǎng)頁(yè),因?yàn)檫@樣可以讓更多的訪問(wèn)者能通過(guò)搜索引擎找到此網(wǎng)站。為了讓本網(wǎng)站的網(wǎng)頁(yè)更全面被抓取到,網(wǎng)站管理員可以建立一個(gè)網(wǎng)站地圖,即SiteMap。許多網(wǎng)絡(luò)蜘蛛會(huì)把sitemap.htm文件作為一個(gè)網(wǎng)站網(wǎng)頁(yè)爬取的入口,網(wǎng)站管理員可以把網(wǎng)站內(nèi)部所有網(wǎng)頁(yè)的鏈接放在這個(gè)文件里面,那么網(wǎng)絡(luò)蜘蛛可以很方便的把整個(gè)網(wǎng)站抓取下來(lái),避免遺漏某些網(wǎng)頁(yè),也會(huì)減小對(duì)網(wǎng)站服務(wù)器的負(fù)擔(dān)。,20,7.內(nèi)容提取,搜索引擎建立網(wǎng)頁(yè)索引,處理的對(duì)象是文本文件。對(duì)于網(wǎng)絡(luò)蜘蛛來(lái)說(shuō),抓取下來(lái)網(wǎng)頁(yè)包括各種格式,包括html、圖片、doc、pdf、
12、多媒體、 動(dòng)態(tài)網(wǎng)頁(yè)及其它格式等。這些文件抓取下來(lái)后,需要把這些文件中的文本信息提取出來(lái)。準(zhǔn)確提取這些文檔的信息,一方面對(duì)搜索引擎的搜索準(zhǔn)確性有重要作用,另一方面對(duì)于網(wǎng)絡(luò)蜘蛛正確跟蹤其它鏈接有一定影響。 對(duì)于doc、pdf等文檔,這種由專業(yè)廠商提供的軟件生成的文檔,廠商都會(huì)提供相應(yīng)的文本提取接口。網(wǎng)絡(luò)蜘蛛只需要調(diào)用這些插件的接口,就可以輕松的提取文檔中的文本信息和文件其它相關(guān)的信息。,21,7.內(nèi)容提取,HTML等文檔不一樣,HTML有一套自己的語(yǔ)法,通過(guò)不同的命令標(biāo)識(shí)符來(lái)表示不同的字體、顏色、位置等版式,如:、等,提取文本信息時(shí)需要把這些標(biāo)識(shí)符都過(guò)濾掉。過(guò)濾標(biāo)識(shí)符并非難事,因?yàn)檫@些標(biāo)識(shí)符都有一
13、定的規(guī)則,只要按照不同的標(biāo)識(shí)符取得相應(yīng)的信息即可。但在識(shí)別這些信息的時(shí)候,需要同步記錄許多版式信息,例如文字的字體大小、是否是標(biāo)題、是否是加粗顯示、是否是頁(yè)面的關(guān)鍵詞等,這些信息有助于計(jì)算單詞在網(wǎng)頁(yè)中的重要程度。同時(shí),對(duì)于 HTML網(wǎng)頁(yè)來(lái)說(shuō),除了標(biāo)題和正文以外,會(huì)有許多廣告鏈接以及公共的頻道鏈接,這些鏈接和文本正文一點(diǎn)關(guān)系也沒(méi)有,在提取網(wǎng)頁(yè)內(nèi)容的時(shí)候,也需要過(guò)濾這些 無(wú)用的鏈接。例如某個(gè)網(wǎng)站有“產(chǎn)品介紹”頻道,因?yàn)閷?dǎo)航條在網(wǎng)站內(nèi)每個(gè)網(wǎng)頁(yè)都有,若不過(guò)濾導(dǎo)航條鏈接,在搜索“產(chǎn)品介紹”的時(shí)候,則網(wǎng)站內(nèi)每個(gè)網(wǎng)頁(yè)都會(huì)搜索到,無(wú)疑會(huì)帶來(lái)大量垃圾信息。過(guò)濾這些無(wú)效鏈接需要統(tǒng)計(jì)大量的網(wǎng)頁(yè)結(jié)構(gòu)規(guī)律,抽取一些共性
14、,統(tǒng)一過(guò)濾;對(duì)于一些重要而結(jié)果特殊的網(wǎng)站,還需要個(gè)別處理。這就需要網(wǎng)絡(luò)蜘蛛的設(shè)計(jì)有一定的擴(kuò)展性。,22,7.內(nèi)容提取,對(duì)于多媒體、圖片等文件,一般是通過(guò)鏈接的錨文本(即,鏈接文本)和相關(guān)的文件注釋來(lái)判斷這些文件的內(nèi)容。例如有一個(gè)鏈接文字為“張曼玉照片 ”,其鏈接指向一張bmp格式的圖片,那么網(wǎng)絡(luò)蜘蛛就知道這張圖片的內(nèi)容是“張曼玉的照片”。這樣,在搜索“張曼玉”和“照片”的時(shí)候都能讓搜索引擎找到這張圖片。另外,許多多媒體文件中有文件屬性,考慮這些屬性也可以更好的了解文件的內(nèi)容。,23,8.更新周期,由于網(wǎng)站的內(nèi)容經(jīng)常在變化,因此網(wǎng)絡(luò)蜘蛛也需不斷的更新其抓取網(wǎng)頁(yè)的內(nèi)容,這就需要網(wǎng)絡(luò)蜘蛛按照一定的周期去掃描網(wǎng)站,查看哪些頁(yè)面是需要更新的頁(yè)面,哪些頁(yè)面是新增頁(yè)面,哪些頁(yè)面是已經(jīng)過(guò)期的死鏈接。 搜索引擎的更新周期對(duì)搜索引擎搜索的查全率有很大影響。如果更新周期太長(zhǎng),則總會(huì)有一部分新生成的網(wǎng)頁(yè)搜索不到;周期過(guò)短,技術(shù)實(shí)現(xiàn)會(huì)有一定難
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45002-2024水泥膠砂保水率測(cè)定方法
- 濰坊醫(yī)學(xué)院《雕刻基礎(chǔ)(浮雕)》2023-2024學(xué)年第一學(xué)期期末試卷
- 攪拌混凝土出售合同范例
- 工人住宿出租合同范例
- 基金產(chǎn)品協(xié)議合同范例
- 租車助理買單合同范例
- 校園搬遷運(yùn)輸合同范例
- 農(nóng)場(chǎng)民房出售合同范例
- 企業(yè)現(xiàn)金入股合同范例
- 物業(yè)房租租售合同范例
- 中國(guó)特色社會(huì)主義思想讀本小學(xué)低年級(jí)第1講第1課時(shí)《美麗中國(guó)是我家》教學(xué)設(shè)計(jì)
- 低壓不停電換表接插件技術(shù)規(guī)范
- NBT-10779-2021空氣源熱泵集中供暖工程設(shè)計(jì)規(guī)范
- DLT 5210.5-2018 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第5部分:焊接
- 骨科護(hù)理專科護(hù)士護(hù)理知識(shí)筆試題及答案
- 勞動(dòng)教育概論智慧樹知到期末考試答案章節(jié)答案2024年哈爾濱工業(yè)大學(xué)
- 計(jì)算機(jī)使用管理制度
- 中考語(yǔ)文押題作文范例7篇(含題目)
- 勞務(wù)分包方考核評(píng)價(jià)表格附表
- DZ∕T 0214-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 銅、鉛、鋅、銀、鎳、鉬(正式版)
- 醫(yī)療美容操作技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論