SEO(Search Engine Optimization):漢譯為搜索引擎優(yōu)化。是一種方式:利用搜索引擎的規(guī)則提高網(wǎng)站在有關(guān)搜索引擎內(nèi)的自然排名。目的是:為網(wǎng)站提供生態(tài)式的自我營(yíng)銷解決方案,讓其在行業(yè)內(nèi)占據(jù)領(lǐng)先地位,獲得品牌收益;SEO包含站外SEO和站內(nèi)SEO兩方面;為了從搜索引擎中獲得更多的免費(fèi)流量,從網(wǎng)站結(jié)構(gòu)、內(nèi)容建設(shè)方案、用戶互動(dòng)傳播、頁(yè)面等角度進(jìn)行合理規(guī)劃,還會(huì)使搜索引擎中顯示的網(wǎng)站相關(guān)信息對(duì)用戶來(lái)說(shuō)更具有吸引力。 搜索引擎的處理對(duì)象是互聯(lián)網(wǎng)網(wǎng)頁(yè),日前網(wǎng)頁(yè)數(shù)量以百億計(jì),所以搜索引擎首先面臨的問(wèn)題就是:如何能夠設(shè)計(jì)出高效的下載系統(tǒng),以將如此海量的網(wǎng)頁(yè)數(shù)據(jù)傳送到本地,在本地形成互聯(lián)網(wǎng)網(wǎng)頁(yè)的鏡像備份。 網(wǎng)絡(luò)爬蟲即起此作用,它是搜索引擎系統(tǒng)中很關(guān)鍵也根基礎(chǔ)的構(gòu)件。這里主要介紹與網(wǎng)絡(luò)爬蟲相關(guān)的技術(shù),盡管爬蟲技術(shù)經(jīng)過(guò)幾十年的發(fā)展,從整體框架上已相對(duì)成熟,但隨著聯(lián)網(wǎng)的不斷發(fā)展,也面臨著一些有挑戰(zhàn)性的新問(wèn)題。 下圖所示是一個(gè)通用的爬蟲框架流程。首先從互聯(lián)網(wǎng)頁(yè)面中精心選擇一部分網(wǎng)頁(yè),以這些網(wǎng)頁(yè)的鏈接地址作為種子URL,將這些種子URL放入待抓取URL隊(duì)列中,爬蟲從待抓取URL隊(duì)列依次讀取,并將URL通過(guò)DNS解析,把鏈接地址轉(zhuǎn)換為網(wǎng)站服務(wù)器對(duì)應(yīng)的IP地址。 然后將其和網(wǎng)頁(yè)相對(duì)路徑名稱交給網(wǎng)頁(yè)下載器,網(wǎng)頁(yè)下載器負(fù)責(zé)頁(yè)面內(nèi)容的下載。對(duì)于下載到本地的網(wǎng)頁(yè),一方面將其存儲(chǔ)到頁(yè)面庫(kù)中,等待建立索引等后續(xù)處理;另一方面將下載網(wǎng)頁(yè)的URL放入已抓取URL隊(duì)列中,這個(gè)隊(duì)列記載了爬蟲系統(tǒng)已經(jīng)下載過(guò)的網(wǎng)頁(yè)URL,以避免網(wǎng)頁(yè)的重復(fù)抓取。對(duì)于剛下載的網(wǎng)頁(yè),從中抽取出所包含的所有鏈接信息,并在已抓取URL隊(duì)列中檢查,如果發(fā)現(xiàn)鏈接還沒(méi)有被抓取過(guò),則將這個(gè)URL放入待抓取URL隊(duì)列末尾,在之后的抓取調(diào)度中會(huì)下載這個(gè)URL對(duì)應(yīng)的網(wǎng)頁(yè)。如此這般,形成循環(huán),直到待抓取URL隊(duì)列為審,這代表著爬蟲系統(tǒng)已將能夠抓取的網(wǎng)頁(yè)盡數(shù)抓完,此時(shí)完成了一輪完整的抓取過(guò)程。 ![]() 對(duì)于爬蟲來(lái)說(shuō),往往還需要進(jìn)行網(wǎng)頁(yè)去重及網(wǎng)頁(yè)反作弊。 上述是一個(gè)通用爬蟲的整體流程,如果從更加宏觀的角度考慮,處于動(dòng)態(tài)抓取過(guò)程中的爬蟲和互聯(lián)網(wǎng)所有網(wǎng)頁(yè)之間的關(guān)系,可以大致像如圖2-2所身那樣,將互聯(lián)網(wǎng)頁(yè)面劃分為5個(gè)部分: 1.已下載網(wǎng)頁(yè)集合:爬蟲已經(jīng)從互聯(lián)網(wǎng)下載到本地進(jìn)行索引的網(wǎng)頁(yè)集合。 2.已過(guò)期網(wǎng)頁(yè)集合:由于網(wǎng)頁(yè)數(shù)最巨大,爬蟲完整抓取一輪需要較長(zhǎng)時(shí)間,在抓取過(guò)程中,很多已經(jīng)下載的網(wǎng)頁(yè)可能過(guò)期。之所以如此,是因?yàn)榛ヂ?lián)網(wǎng)網(wǎng)頁(yè)處于不斷的動(dòng)態(tài)變化過(guò)程中,所以易產(chǎn)生本地網(wǎng)頁(yè)內(nèi)容和真實(shí)互聯(lián)網(wǎng)網(wǎng)頁(yè)不一致的情況。 3.待下載網(wǎng)頁(yè)集合:即處于上圖中待抓取URL隊(duì)列中的網(wǎng)頁(yè),這些網(wǎng)頁(yè)即將被爬蟲下載。 4.可知網(wǎng)頁(yè)集合:這些網(wǎng)頁(yè)還沒(méi)有被爬蟲下載,也沒(méi)有出現(xiàn)在待抓取URL隊(duì)列中,不過(guò)通過(guò)已經(jīng)抓取的網(wǎng)頁(yè)或者在待抓取URL隊(duì)列中的網(wǎng)頁(yè),總足能夠通過(guò)鏈接關(guān)系發(fā)現(xiàn)它們,稍晚時(shí)候會(huì)被爬蟲抓取并索引。 5.不可知網(wǎng)頁(yè)集合:有些網(wǎng)頁(yè)對(duì)于爬蟲來(lái)說(shuō)是無(wú)法抓取到的,這部分網(wǎng)頁(yè)構(gòu)成了不可知網(wǎng)頁(yè)集合。事實(shí)上,這部分網(wǎng)頁(yè)所占的比例很高。 根據(jù)不同的應(yīng)用,爬蟲系統(tǒng)在許多方面存在差異,大體而言,可以將爬蟲劃分為如下三種類型: 1. 批量型爬蟲(Batch Crawler):批量型爬蟲有比較明確的抓取范圍和目標(biāo),當(dāng)爬蟲達(dá)到這個(gè)設(shè)定的目標(biāo)后,即停止抓取過(guò)程。至于具體目標(biāo)可能各異,也許是設(shè)定抓取一定數(shù)量的網(wǎng)頁(yè)即可,也許是設(shè)定抓取消耗的時(shí)間等。 2.增量型爬蟲(Incremental Crawler):增量型爬蟲與批量型爬蟲不同,會(huì)保持持續(xù)不斷的抓取,對(duì)于抓取到的網(wǎng)頁(yè),要定期更新,因?yàn)榛ヂ?lián)網(wǎng)的網(wǎng)頁(yè)處于不斷變化中,新增網(wǎng)頁(yè)、網(wǎng)頁(yè)被刪除或者網(wǎng)頁(yè)內(nèi)容更改都很常見,而增量型爬蟲需要及時(shí)反映這種變化,所以處于持續(xù)不斷的抓取過(guò)程中,不是在抓取新網(wǎng)頁(yè),就是在更新已有網(wǎng)頁(yè)。通用的商業(yè)搜索引擎爬蟲基本都屬此類。 3.垂直型爬蟲(Focused Crawter):垂直型爬蟲關(guān)注特定主題內(nèi)容或者屬于特定行業(yè)的網(wǎng)頁(yè),比如對(duì)于健康網(wǎng)站來(lái)說(shuō),只需要從互聯(lián)網(wǎng)頁(yè)而里找到與健康相關(guān)的頁(yè)面內(nèi)容即可,其他行業(yè)的內(nèi)容不在考慮范圍。垂直型爬蟲一個(gè)最大的特點(diǎn)和難點(diǎn)就是:如何識(shí)別網(wǎng)頁(yè)內(nèi)容是否屬于指定行業(yè)或者主題。從節(jié)省系統(tǒng)資源的角度來(lái)說(shuō),不太可能把所有互聯(lián)網(wǎng)頁(yè)面下載下來(lái)之后再去篩選,這樣浪費(fèi)資源就太過(guò)分了,往往需要爬蟲在抓取階段就能夠動(dòng)態(tài)識(shí)別某個(gè)網(wǎng)址是否與主題相關(guān),并盡量不去抓墩無(wú)關(guān)頁(yè)面,以達(dá)到節(jié)省資源的目的。垂直搜索網(wǎng)站或者垂直行業(yè)網(wǎng)站往往需要此種類型的爬蟲。 文章內(nèi)容由亞健康網(wǎng)的站長(zhǎng)撰寫,轉(zhuǎn)載請(qǐng)注明出處,謝謝! 搜索引擎優(yōu)化在國(guó)外發(fā)展迅速,國(guó)內(nèi)也有眾多的優(yōu)化愛好者。通過(guò)了解各類搜索引擎抓取互聯(lián)網(wǎng)頁(yè)面、進(jìn)行索引以及確定其對(duì)特定關(guān)鍵詞搜索結(jié)果排名等技術(shù),來(lái)對(duì)網(wǎng)頁(yè)進(jìn)行相關(guān)的優(yōu)化,使其提高搜索引擎排名。
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!