国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于“網(wǎng)絡(luò)蜘蛛原理”的搜索引擎技術(shù)剖析

2007-11-19 04:23:36
關(guān)鍵詞:插件搜索引擎蜘蛛

金 益

摘要:主要介紹網(wǎng)絡(luò)蜘蛛的基本原理及相關(guān)技術(shù)。

關(guān)鍵詞:網(wǎng)絡(luò)蜘蛛搜索引擎

鏈接深度動(dòng)態(tài)網(wǎng)頁(yè)

中圖分類號(hào)TP393.09

文獻(xiàn)標(biāo)識(shí)碼A文章編號(hào):1002-2422(2007)05-0006-02

中文搜索引擎的查全率需保證不遺漏某些重要的結(jié)果,而且能找到最新的網(wǎng)頁(yè),這需要搜索引擎有一個(gè)強(qiáng)大的網(wǎng)頁(yè)收集器(稱為“網(wǎng)絡(luò)蜘蛛”),一個(gè)優(yōu)秀的搜索引擎,需要不斷的優(yōu)化網(wǎng)絡(luò)蜘蛛的算法,提升其性能。主要介紹網(wǎng)絡(luò)蜘蛛的基本原理及相關(guān)技術(shù)。

1網(wǎng)絡(luò)蜘蛛基本原理

網(wǎng)絡(luò)蜘蛛即Web Spider,是通過(guò)網(wǎng)頁(yè)的鏈接地址來(lái)尋找網(wǎng)頁(yè),從網(wǎng)站的某一個(gè)頁(yè)面開(kāi)始,讀取網(wǎng)頁(yè)的內(nèi)容,找到在網(wǎng)頁(yè)中的其它鏈接地址,然后通過(guò)這些鏈接地址尋找下一個(gè)網(wǎng)頁(yè),這樣循環(huán)下去,直到把這個(gè)網(wǎng)站所有的網(wǎng)頁(yè)都抓取完為止。

在抓取網(wǎng)頁(yè)的時(shí)候,網(wǎng)絡(luò)蜘蛛一般有兩種策略:廣度優(yōu)先和深度優(yōu)先。廣度優(yōu)先是指網(wǎng)絡(luò)蜘蛛會(huì)先抓取起始網(wǎng)頁(yè)中鏈接的所有網(wǎng)頁(yè),然后再選擇其中的一個(gè)鏈接網(wǎng)頁(yè),繼續(xù)抓取在此網(wǎng)頁(yè)中鏈接的所有網(wǎng)頁(yè)。深度優(yōu)先是指網(wǎng)絡(luò)蜘蛛會(huì)從起始頁(yè)開(kāi)始,按照每個(gè)鏈接跟蹤下去,處理完這條線路之后再轉(zhuǎn)入下一個(gè)起始頁(yè),繼續(xù)跟蹤鏈接。兩種策略的區(qū)別見(jiàn)圖1。

網(wǎng)絡(luò)蜘蛛在訪問(wèn)網(wǎng)站網(wǎng)頁(yè)的時(shí)候,經(jīng)常會(huì)遇到加密數(shù)據(jù)和網(wǎng)頁(yè)權(quán)限的問(wèn)題,有些網(wǎng)頁(yè)是需要會(huì)員權(quán)限才能訪問(wèn)。網(wǎng)站的所有者可以通過(guò)協(xié)議讓網(wǎng)絡(luò)蜘蛛不去抓取。一些出售報(bào)告的網(wǎng)站,他們希望搜索引擎能搜索到他們的報(bào)告,但又不能完全免費(fèi)的讓搜索者查看,這樣就需要給網(wǎng)絡(luò)蜘蛛提供相應(yīng)的用戶名和密碼。網(wǎng)絡(luò)蜘蛛可以通過(guò)所給的權(quán)限對(duì)這些網(wǎng)頁(yè)進(jìn)行網(wǎng)頁(yè)抓取,從而提供搜索,而當(dāng)搜索者點(diǎn)擊查看該網(wǎng)頁(yè)的時(shí)候,同樣需要搜索者提供相應(yīng)的權(quán)限驗(yàn)證。

2內(nèi)容提取

搜索引擎建立網(wǎng)頁(yè)索引,處理的對(duì)象是文本文件。對(duì)于網(wǎng)絡(luò)蜘蛛來(lái)說(shuō),抓取的網(wǎng)頁(yè)格式包括html、圖片、doc、pdf、多媒體、動(dòng)態(tài)網(wǎng)頁(yè)及其它格式等。這些文件抓取下來(lái)后,需要把這些文件中的文本信息提取出來(lái)。準(zhǔn)確提取這些文檔的信息,一方面對(duì)搜索引擎的搜索準(zhǔn)確性有重要作用;另一方面對(duì)于網(wǎng)絡(luò)蜘蛛正確跟蹤其它鏈接有一定影響。

(1)doe、pdf等由專業(yè)廠商提供的軟件生成的文檔,會(huì)提供相應(yīng)的文本提取接口。網(wǎng)絡(luò)蜘蛛只需調(diào)用這些插件的接口,就可提取文檔中的文本信息和文件其它相關(guān)的信息。

(2)HTML等文檔不一樣,HTML有一套自己的語(yǔ)法,通過(guò)不同的命令標(biāo)識(shí)符來(lái)表示不同的字體、顏色、位置等版式,在提取文本信息時(shí)需要把這些標(biāo)識(shí)符都過(guò)濾掉。在識(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ú)用的鏈接。過(guò)濾這些無(wú)效鏈接需要統(tǒng)計(jì)大量的網(wǎng)頁(yè)結(jié)構(gòu)規(guī)律。抽取一些共性,統(tǒng)一過(guò)濾,對(duì)于一些重要而結(jié)果特殊的網(wǎng)站,還需要個(gè)別處理。這就需要網(wǎng)絡(luò)蜘蛛的設(shè)計(jì)有一定的擴(kuò)展性。

(3)對(duì)于多媒體、圖片等文件,一般是通過(guò)鏈接的錨文本和相關(guān)的文件注釋來(lái)判斷這些文件的內(nèi)容,例如有一個(gè)鏈接文字為“北京大學(xué)的照片”,其鏈接指向一張bmp格式的圖片,那么網(wǎng)絡(luò)蜘蛛就知道這張圖片的內(nèi)容是“北京大學(xué)的照片”,這樣,在搜索“北京大學(xué)”和“照片”的時(shí)候都能讓搜索引擎找到這張圖片。另外,許多多媒體文件中有文件屬性,考慮這些屬性也可以更好的了解文件的內(nèi)容。

(4)動(dòng)態(tài)網(wǎng)頁(yè)一直是網(wǎng)絡(luò)蜘蛛面臨的難題。開(kāi)發(fā)語(yǔ)言的不斷增多,動(dòng)態(tài)網(wǎng)頁(yè)的類型也越來(lái)越多,網(wǎng)絡(luò)蜘蛛比較難于處理的是一些腳本語(yǔ)言(如VBScdpt和JavaScript)生成的網(wǎng)頁(yè),如果要完善的處理好這些網(wǎng)頁(yè),網(wǎng)絡(luò)蜘蛛需要有自己的腳本解釋程序。對(duì)于許多數(shù)據(jù)是放在數(shù)據(jù)庫(kù)的網(wǎng)站,需要通過(guò)本網(wǎng)站的數(shù)據(jù)庫(kù)搜索才能獲得信息,這給網(wǎng)絡(luò)蜘蛛的抓取帶來(lái)很大的困難,如果網(wǎng)站設(shè)計(jì)者希望這些數(shù)據(jù)能被搜索引擎搜索,則需要提供一種可以遍歷整個(gè)數(shù)據(jù)庫(kù)內(nèi)容的方法。

網(wǎng)頁(yè)內(nèi)容的提取,一直是網(wǎng)絡(luò)蜘蛛中重要的技術(shù)。整個(gè)系統(tǒng)一般采用插件的形式,通過(guò)一個(gè)插件管理服務(wù)程序,遇到不同格式的網(wǎng)頁(yè)采用不同的插件處理。這種方式的好處在于擴(kuò)充性好,每發(fā)現(xiàn)一種新的類型,就可以把處理方式做成一個(gè)插件補(bǔ)充到插件管理服務(wù)程序之中。

3更新周期

由于網(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ì)有一定難度,而且會(huì)對(duì)帶寬、服務(wù)器的資源都有浪費(fèi)。搜索引擎的網(wǎng)絡(luò)蜘蛛不是所有的網(wǎng)站都采用同一個(gè)周期進(jìn)行更新,一些重要的更新量大的網(wǎng)站,更新的周期短,如有些新聞網(wǎng)站,幾個(gè)小時(shí)就更新一次,相反一些不重要的網(wǎng)站,更新的周期就長(zhǎng),可能一兩個(gè)月才更新一次。

一般來(lái)說(shuō),網(wǎng)絡(luò)蜘蛛在更新網(wǎng)站內(nèi)容的時(shí)候,不用把網(wǎng)站網(wǎng)頁(yè)重新抓取一遍,對(duì)于大部分的網(wǎng)頁(yè),只需要判斷網(wǎng)頁(yè)的屬性(主要是日期),把得到的屬性和上次抓取的屬性相比較,如果一樣就不用更新。

4結(jié)束語(yǔ)

網(wǎng)絡(luò)蜘蛛可以算得上是為Internet而開(kāi)發(fā)的最有用處的工具之一。要從各不相同的站點(diǎn)中獲取信息,網(wǎng)絡(luò)蜘蛛技術(shù)是一個(gè)很好的技術(shù)手段。目前如何發(fā)現(xiàn)更多的網(wǎng)頁(yè),如何正確提取網(wǎng)頁(yè)內(nèi)容,如何下載動(dòng)態(tài)網(wǎng)頁(yè),如何提供抓取速度,如何識(shí)別網(wǎng)站內(nèi)容相同的網(wǎng)頁(yè)等都是網(wǎng)絡(luò)蜘蛛需要進(jìn)一步改進(jìn)的問(wèn)題。

猜你喜歡
插件搜索引擎蜘蛛
自編插件完善App Inventor與樂(lè)高機(jī)器人通信
電子制作(2019年22期)2020-01-14 03:16:34
小蜘蛛凍僵了,它在哪兒呢?
蜘蛛
MapWindowGIS插件機(jī)制及應(yīng)用
網(wǎng)絡(luò)搜索引擎亟待規(guī)范
大蜘蛛
基于Revit MEP的插件制作探討
基于Nutch的醫(yī)療搜索引擎的研究與開(kāi)發(fā)
廣告主與搜索引擎的雙向博弈分析
搜索,也要“深搜熟濾”
惠东县| 淮北市| 孟津县| 滦南县| 塔河县| 华容县| 遂溪县| 桐乡市| 民丰县| 泾源县| 芒康县| 永兴县| 广平县| 石门县| 曲松县| 云龙县| 梁河县| 定结县| 云安县| 白水县| 英山县| 莲花县| 太和县| 辽阳市| 抚顺县| 隆尧县| 牟定县| 南华县| 上高县| 乐至县| 泰安市| 涟水县| 清镇市| 牙克石市| 楚雄市| 固原市| 庄浪县| 壶关县| 樟树市| 海伦市| 金山区|