搜索引擎的工作的過程非常復(fù)雜,而簡(jiǎn)單的講搜索引擎的工過程大體可以分成三個(gè)階段。爬行和抓?。核阉饕嬷┲胪ㄟ^跟蹤鏈接訪問頁(yè)面,獲取頁(yè)面HTML代碼存入數(shù)據(jù)庫(kù)。預(yù)處理:搜索贏球?qū)ψト淼捻?yè)面數(shù)據(jù)文字進(jìn)行文字提取、中文分詞、索引等處理,以備排名程序調(diào)用。排名:用戶輸入關(guān)鍵字后,排名調(diào)用索引庫(kù)數(shù)據(jù),計(jì)算相關(guān)性,然后按一定格式生成搜索結(jié)果頁(yè)面。
爬行和抓取 ?天津國(guó)泰醫(yī)院
爬行和抓取是搜索引擎工作的第一步,完成數(shù)據(jù)收集任務(wù)。
蜘蛛
搜索引擎用來爬行和訪問頁(yè)面的程序被稱為蜘蛛(spider),也稱為機(jī)器人(bot)。
跟蹤鏈接 ?天津國(guó)泰醫(yī)院
為了抓取網(wǎng)上盡量多的頁(yè)面,搜索引擎蜘蛛會(huì)跟蹤頁(yè)面上的鏈接,從一個(gè)頁(yè)面爬到下一個(gè)頁(yè)面,就好像蜘蛛在蜘蛛網(wǎng)上爬行那樣,這也就是搜索引擎蜘蛛這個(gè)名稱的由來。最簡(jiǎn)單的爬行遍歷策略分為兩種,一是深度優(yōu)先,二是廣度優(yōu)先。
深度優(yōu)先搜索
深度優(yōu)先搜索就是在搜索樹的每一層始終先只擴(kuò)展一個(gè)子節(jié)點(diǎn),不斷地向縱深前進(jìn)直到不能再前進(jìn)(到達(dá)葉子節(jié)點(diǎn)或受到深度限制)時(shí),才從當(dāng)前節(jié)點(diǎn)返回到上一級(jí)節(jié)點(diǎn),沿另一方向又繼續(xù)前進(jìn)。這種方法的搜索樹是從樹根開始一枝一枝逐漸形成的。
深度優(yōu)先搜索亦稱為縱向搜索。由于一個(gè)有解的問題樹可能含有無(wú)窮分枝,深度優(yōu)先搜索如果誤入無(wú)窮分枝(即深度無(wú)限),則不可能找到目標(biāo)節(jié)點(diǎn)。所以,深度優(yōu)先搜索策略是不完備的。另外,應(yīng)用此策略得到的解不一定是最佳解(最短路徑)。
廣度優(yōu)先搜索
在深度優(yōu)先搜索算法中,是深度越大的結(jié)點(diǎn)越先得到擴(kuò)展。如果在搜索中把算法改為按結(jié)點(diǎn)的層次進(jìn)行搜索, 本層的結(jié)點(diǎn)沒有搜索處理完時(shí),不能對(duì)下層結(jié)點(diǎn)進(jìn)行處理,即深度越小的結(jié)點(diǎn)越先得到擴(kuò)展,也就是說先產(chǎn)生 的結(jié)點(diǎn)先得以擴(kuò)展處理,這種搜索算法稱為廣度優(yōu)先搜索法。
在深度優(yōu)先搜索算法中,是深度越大的結(jié)點(diǎn)越先得到擴(kuò)展。如果在搜索中把算法改為按結(jié)點(diǎn)的層次進(jìn)行搜索, 本層的結(jié)點(diǎn)沒有搜索處理完時(shí),不能對(duì)下層結(jié)點(diǎn)進(jìn)行處理,即深度越小的結(jié)點(diǎn)越先得到擴(kuò)展,也就是說先產(chǎn)生 的結(jié)點(diǎn)先得以擴(kuò)展處理,這種搜索算法稱為廣度優(yōu)先搜索法。
吸引蜘蛛 ?天津國(guó)泰醫(yī)院
哪些頁(yè)面被認(rèn)為比較重要呢?有幾方面影響因素:
· 網(wǎng)站和頁(yè)面權(quán)重。質(zhì)量高、資格老的網(wǎng)站被認(rèn)為權(quán)重比較高,這種網(wǎng)站上的頁(yè)面被爬行的深度也會(huì)比較高,所以會(huì)有更多內(nèi)頁(yè)被收錄。
· 頁(yè)面更新度。蜘蛛每次爬行都會(huì)把頁(yè)面數(shù)據(jù)存儲(chǔ)起來。如果第二次爬行發(fā)現(xiàn)頁(yè)面與第一次收錄的完全一樣,說明頁(yè)面沒有更新,蜘蛛也就沒有必要經(jīng)常抓取。如果頁(yè)面內(nèi)容經(jīng)常更新,蜘蛛就會(huì)更加頻繁地訪問這種頁(yè)面,頁(yè)面上出現(xiàn)的新鏈接,也自然會(huì)被蜘蛛更快跟蹤,抓取新頁(yè)面。
· 導(dǎo)入鏈接。無(wú)論是外部鏈接還是同一個(gè)網(wǎng)站的內(nèi)部鏈接,要被蜘蛛抓取就必須有導(dǎo)入鏈接進(jìn)入頁(yè)面,否則蜘蛛根本沒有機(jī)會(huì)知道頁(yè)面的存在。高質(zhì)量的導(dǎo)入鏈接也經(jīng)常使頁(yè)面上的導(dǎo)出鏈接被爬行深度增加。一般來說網(wǎng)站上權(quán)重最高的是首頁(yè),大部分外部鏈接是指向首頁(yè),蜘蛛訪問最頻繁的也是首頁(yè)。離首頁(yè)點(diǎn)擊距離越近,頁(yè)面權(quán)重越高,被蜘蛛爬行的機(jī)會(huì)也越大。
地址庫(kù)
為了避免重復(fù)爬行和抓取網(wǎng)址,搜索引擎會(huì)建立一個(gè)地址庫(kù),記錄已經(jīng)被發(fā)現(xiàn)還沒有抓取的頁(yè)面,以及已經(jīng)被抓取的頁(yè)面。地址庫(kù)中的uRL有幾個(gè)來源:
(1)人工錄入的種子網(wǎng)站。
(2)蜘蛛抓取頁(yè)面后,從HTML中解析出新的鏈接uRL,與地址庫(kù)中的數(shù)據(jù)進(jìn)行對(duì)比,如果是地址庫(kù)中沒有的網(wǎng)址,就存入待訪問地址庫(kù)。
(3)站長(zhǎng)通過搜索引擎網(wǎng)頁(yè)提交表格提交進(jìn)來的網(wǎng)址。
蜘蛛按重要性從待訪問地址庫(kù)中提取uRL,訪問并抓取頁(yè)面,然后把這個(gè)uRL從待訪問地址庫(kù)中刪除,放進(jìn)已訪問地址庫(kù)中。
大部分主流搜索引擎都提供一個(gè)表格,讓站長(zhǎng)提交網(wǎng)址。不過這些提交來的網(wǎng)址都只是存入地址庫(kù)而已,是否收錄還要看頁(yè)面重要性如何。搜索引擎所收錄的絕大部分頁(yè)面是蜘蛛自己跟蹤鏈接得到的。可以說提交頁(yè)面基本t是毫無(wú)用處的,搜索引擎更喜歡自己沿著鏈接發(fā)現(xiàn)新頁(yè)面。
文件存儲(chǔ)搜索引擎蜘蛛抓取的數(shù)據(jù)存入原始頁(yè)面數(shù)據(jù)庫(kù)。其中的頁(yè)面數(shù)據(jù)與用戶瀏覽器得到的HTML是完全一樣的。每個(gè)uRI,都有一個(gè)獨(dú)特的文件編號(hào)。
爬行時(shí)的復(fù)制內(nèi)容檢測(cè) ?天津國(guó)泰醫(yī)院
檢測(cè)并刪除復(fù)制內(nèi)容通常是在下面介紹的預(yù)處理過程中進(jìn)行的,但現(xiàn)在的蜘蛛在爬行和抓取文件時(shí)也會(huì)進(jìn)行定程度的復(fù)制內(nèi)容檢測(cè)。遇到權(quán)重很低的網(wǎng)站上大量轉(zhuǎn)載或抄襲內(nèi)容時(shí),很可能不再繼續(xù)爬行。這也就是有的站長(zhǎng)在日志文件中發(fā)現(xiàn)了蜘蛛,但頁(yè)面從來沒有被真正收錄過的原因。
預(yù)處理
在一些SEO材料中,“預(yù)處理”也被簡(jiǎn)稱為“索引”,因?yàn)樗饕穷A(yù)處理最主要的步驟。
搜索引擎蜘蛛抓取的原始頁(yè)面,并不能直接用于查詢排名處理。搜索引擎數(shù)據(jù)庫(kù)中的頁(yè)面數(shù)都在數(shù)萬(wàn)億級(jí)別以上,用戶輸入搜索詞后,靠排名程序?qū)崟r(shí)對(duì)這么多頁(yè)面分析相關(guān)性,計(jì)算量太大,不可能在一兩秒內(nèi)返回排名結(jié)果。因此抓取來的頁(yè)面必須經(jīng)過預(yù)處理,為最后的查詢排名做好準(zhǔn)備。
和爬行抓取一樣,預(yù)處理也是在后臺(tái)提前完成的,用戶搜索時(shí)感覺不到這個(gè)過程。
1.提取文字 ?天津國(guó)泰醫(yī)院
現(xiàn)在的搜索引擎還是以文字內(nèi)容為基礎(chǔ)。蜘蛛抓取到的頁(yè)面中的HTML代碼,除了用戶在瀏覽器上可以看到的可見文字外,還包含了大量的HTML格式標(biāo)簽、 JavaScript程序等無(wú)法用于排名的內(nèi)容。搜索引擎預(yù)處理首先要做的就是從HTML文件中去除標(biāo)簽、程序,提取出可以用于排名處理的網(wǎng)頁(yè)面文字內(nèi) 容。
【版權(quán)與免責(zé)聲明】如發(fā)現(xiàn)內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息發(fā)郵件至 1830498703@qq.com ,我們將及時(shí)溝通刪除處理。 以上內(nèi)容均為網(wǎng)友發(fā)布,僅代表網(wǎng)友個(gè)人觀點(diǎn),不代表平臺(tái)觀點(diǎn),涉及言論、版權(quán)與本站無(wú)關(guān)。