您當(dāng)前的位置:首頁 >> SEO知識(shí) >> 網(wǎng)站幫助
搜索引擎建立網(wǎng)頁索引,處理的對(duì)象是文本文件。對(duì)于搜索引擎爬蟲來說,抓取下來的網(wǎng)頁包括各種格式,如html、圖片、doc、pdf,多媒體、動(dòng)態(tài)網(wǎng)頁及其他格式等。這些文件抓取下來后,需要把這些文件中的文本信息提取出來。準(zhǔn)確提取這些文檔的信息,一方面對(duì)搜索引擎的搜索準(zhǔn)確性有重要作用,另一方面對(duì)于搜索引擎爬蟲正確跟蹤其他鏈接也有一定的影響。
對(duì)于doc、pdf等由專業(yè)廠商提供的軟件生成的文檔,廠商都會(huì)提供相應(yīng)的文本提取接口。搜索引擎爬蟲只需要調(diào)用這些插件的接口,就可以輕松地提取文檔中的文本信息和文件相關(guān)的其他信息。
HTML等文檔不一樣,HTML有一套自己的語法,通過不同的命令標(biāo)識(shí)符來表示不同的字體、顏色、位置等版式,提取文本信息時(shí)需要把這些標(biāo)識(shí)符都過濾掉。過濾標(biāo)識(shí)符并非難事,因?yàn)檫@些標(biāo)識(shí)符都有一定的規(guī)則,只要按照不同的標(biāo)識(shí)符取得相應(yīng)的信息即可。但在識(shí)別這些信息的時(shí)候,需要同步記錄許多版式信息,例如文字的字體大小、是否是標(biāo)題、是否是加粗顯示、是否是頁面的關(guān)鍵詞等,這些信息有助于計(jì)算單詞在網(wǎng)頁中的重要程度。同時(shí),對(duì)于HTML網(wǎng)頁來說,除了標(biāo)題和正文以外,會(huì)有許多廣告鏈接以及公共的頻道鏈接,這些鏈接和文本正文一點(diǎn)關(guān)系也沒有,在提取網(wǎng)頁內(nèi)容的時(shí)候,也需要過濾這些無用的鏈接。例如某個(gè)網(wǎng)站有“產(chǎn)品介紹”頻道,因?yàn)閷?dǎo)航條在網(wǎng)站內(nèi)每個(gè)網(wǎng)頁都有,若不過濾導(dǎo)航條鏈接,在搜索“產(chǎn)品介紹”的時(shí)候,則網(wǎng)站內(nèi)每個(gè)網(wǎng)頁都會(huì)搜索到,無疑會(huì)帶來大量垃圾信息。過濾這些無效鏈接需要統(tǒng)計(jì)大量的網(wǎng)頁結(jié)構(gòu)規(guī)律,抽取一些共性,統(tǒng)一過濾;對(duì)于一些重要而結(jié)果特殊的網(wǎng)站,還需要個(gè)別處理。這就需要搜索引擎爬蟲的設(shè)計(jì)有一定的擴(kuò)展性。
對(duì)于多媒體、圖片等文件,一般是通過鏈接的錨文本(即鏈接文本)和相關(guān)的文件注釋來判斷這些文件的內(nèi)容。例如有一個(gè)鏈接文字為“故宮的照片”,其鏈接指向一張bmp格式的圖片,那么搜索引擎爬蟲就知道這張圖片的內(nèi)容是“故宮的照片”。這樣,在搜索“故宮”和“照片”的時(shí)候都能讓搜索引擎找到這張圖片。另外,許多多媒體文件中都有文件屬性,考慮這些屬性也可以更好地了解文件的內(nèi)容。
動(dòng)態(tài)網(wǎng)頁一直是網(wǎng)絡(luò)蜘蛛面臨的難題。所謂動(dòng)態(tài)網(wǎng)頁,是相對(duì)于靜態(tài)網(wǎng)頁而言的,是由程序自動(dòng)生成的頁面,這樣的好處是可以快速統(tǒng)一更改網(wǎng)頁風(fēng)格,也可以減少網(wǎng)頁所占服務(wù)器的空間,但同樣給網(wǎng)絡(luò)蜘蛛的抓取帶來一些麻煩。由于開發(fā)語言不斷增多,動(dòng)態(tài)網(wǎng)頁的類型也越來越多,如asp、jsp、php等。這些類型的網(wǎng)頁對(duì)于搜索引擎爬蟲來說,可能還稍微容易一些。搜索引擎爬蟲比較難于處理的是一些腳本語言(如VBScript和JaVaScript)生成的網(wǎng)頁,如果要完善地處理好這些網(wǎng)頁,網(wǎng)絡(luò)蜘蛛需要有自己的腳本解釋程序。對(duì)于許多數(shù)據(jù)是放在數(shù)據(jù)庫(kù)的網(wǎng)站,需要通過本網(wǎng)站的數(shù)據(jù)庫(kù)搜索才能獲得信息,這樣給網(wǎng)絡(luò)蜘蛛的抓取帶來很大的困難。對(duì)于這類網(wǎng)站,如果網(wǎng)站設(shè)計(jì)者希望這些數(shù)據(jù)能被搜索引擎搜索,則需要提供一種可以遍歷整個(gè)數(shù)據(jù)庫(kù)內(nèi)容的方法。
對(duì)于網(wǎng)頁內(nèi)容的提取,一直是搜索引擎爬蟲中重要的技術(shù)。整個(gè)系統(tǒng)一般采用插件的形式,通過一個(gè)插件管理服務(wù)程序,遇到不同格式的網(wǎng)頁采用不同的插件處理。這種方式的好處在于擴(kuò)充性好,以后每發(fā)現(xiàn)一種新的類型,就可以把其處理方式做成一個(gè)插件補(bǔ)充到插件管理服務(wù)程序中。
由于網(wǎng)站的內(nèi)容經(jīng)常在變化,因此搜索引擎爬蟲也需要不斷地更新其抓取網(wǎng)頁的內(nèi)容,這就需要搜索引擎爬蟲按照一定的周期去掃描網(wǎng)站,查看哪些頁面是需要更新的頁面,哪些頁面是新增頁面,哪些頁面是已經(jīng)過期的死鏈接。
搜索引擎的更新周期對(duì)搜索引擎搜索的查全率有很大影響。如果更新周期太長(zhǎng),則總會(huì)有一部分新生成的網(wǎng)頁搜索不到;周期過短,技術(shù)實(shí)現(xiàn)會(huì)有一定難度,而且會(huì)對(duì)帶寬、服務(wù)器的資源都有浪費(fèi)。搜索引擎爬蟲并不是所有的網(wǎng)站都采用同一個(gè)周期進(jìn)行更新,對(duì)于一些重要的更新量大的網(wǎng)站,更新的周期短,如有些新聞網(wǎng)站,幾個(gè)小時(shí)就更新一次;相反,對(duì)于一些不重要的網(wǎng)站,更新的周期就長(zhǎng),可能一兩個(gè)月才更新一次。
一般來說,搜索引擎爬蟲在更新網(wǎng)站內(nèi)容的時(shí)候,不用把網(wǎng)站網(wǎng)頁重新抓取一遍,對(duì)于大部分網(wǎng)頁,只需判斷網(wǎng)頁的屬性(主要是日期),把得到的屬性和上次抓取的屬性相比較,如果一樣則不用更新。