當前位置:
首頁 > 最新 > 搜索引擎原理:Spider

搜索引擎原理:Spider

做SEO的人應該要對搜索引擎的基本原理有一些了解,如搜索弓引擎發現網址到該頁面擁有排名,以及後續更新的整個過程中,搜索引擎到底是怎麼工作的。對於專業的演算法不必進行深入的研究,但是對於搜索引擎工作中的策略和演算法原理要有個簡單的認知,這樣才能更有效地開展SEO工作,知其然也要知其所以然。當然,也有一些朋友不懂這些,照照樣做得有聲有色,但是對於搜索引擎工作原理,懂總比不懂要好一些。

以往的SEO書籍中對這塊內容的講解都比較簡單,希望在此能夠嘗試結合SEO實際工作和現象,更進一步剖析一下搜索引擎的工作原理。其實當你了解了搜索引擎的工作流程、策略和基本演算法後,就可以在一定程度上避免因為不當操作而帶來的處罰,同時也可以快速分析出很多搜索引擎搜索結果異常的原因。有搜索行為的地方就有搜索引擎,站內搜索、全網搜索、垂直搜索等都會用到搜索引擎。接下來,筆者會根據從業認知,討論一下全文搜索引擎的基本架構。百度、 Google等綜合搜索巨頭肯定有著更為複雜的架構和檢索技術,但宏觀上的基本原理都差不多。

搜索引擎的大概架構如下圖所示。可以分成虛線左右兩個部分:一部分是主動抓取網頁進行一系列處理後建立索引,等待用戶搜索;另一部分是分析用戶搜索意圖,展現用戶所需要的搜索結果。

搜索引擎主動抓取網頁,並進行內容處理、索引引部分的流程和機制一般如下。

步驟1:派出 Spider,按照一定策略把網頁抓回到搜索引擎伺服器;

步驟2:對抓回的網頁進行鏈接抽離、內容處理,消除雜訊、提取該頁主題文本內容等;

步驟3:對網頁的文本內容進行中文分詞、去除停止詞等;

步驟4:對網頁內容進行分詞後判斷該頁面內容與已索引網頁是否有重複,剔除重複頁,

對剩餘網頁進行倒排索引,然後等待用戶戶的檢索。

當有用戶進行查詢後,搜索引引擎工作的流程機制一般如下:

步驟1:先對用戶所查詢的關鍵詞進行分詞處理,並根據用戶的地理位置和歷史檢索特徵進行用戶需求分析,以便使用地域性搜索結果和個性化搜索結果展示用戶最需要的內容;

步驟2:查找緩存中是否有該關鍵詞的查詢結果,如果有,為了最快地呈現查詢結果,搜索引擎會根據當下用戶的各種信息判斷其真正需求,對緩存中的結果進行微調或直接呈現給用戶;

步驟3:如果用戶所査詢的關鍵詞在緩存中不存在,那麼就在索引庫中的網頁進行調取排名呈現,並將該關鍵詞和對應的搜索結果加入到緩存中;

步驟4:網頁排名是根據用戶的搜索詞和搜索需求,對索引庫中的網頁進行相關性、重要性(鏈接權重分析)和用戶體驗的高低進行分析所得出的。用戶在搜索結果中的點擊和重複搜索行為,也可以告訴搜索引擎,用戶對搜索結果頁的使用體驗。這塊兒是近來作弊最多的部分,所以這部分會伴隨著搜索引擎的反作弊演算法干預,有時甚至可能會進行人工干預。

按照上述搜索引擎的架構,在整個搜索引擎工作流程中大概會涉及 Spider、內容處理、分詞、去重、索引、內容相關性、鏈接分析、判斷頁面用戶體驗、反作弊、人工於預、緩存機機制、用戶需求分析等模塊。以下會針對各模塊進行詳細討論,也會順帶著對現在行業內討論比較多的相關問題進行原理分析。

Spider

Spider也就是大家常說的爬蟲、蜘蛛或機器人,是處於整個搜索引擎最上游的一個模塊,只有 Spider抓回的頁面或URL才會被索引引和參與排名。需要注意的是,只要是 Spider抓到的URL,都可能會參與排名,但參與排名的網頁並不一定就被 Spider抓取到了內容,比如有些網站屏蔽搜索引擎 Spider後,雖然 Spider不能抓取網頁內容,但是也會有一些域名級別的URL在搜索引擎中參與了排名(例如天貓上的很多獨立域名的店鋪)。根據搜索引擎的類型不同, Spider也會有不同的分類。大型搜索引擎的 Spider一般都會有以下需要解決的問題,也是和SEO密切相關的問題。

首先, Spider想要抓取網頁,要發現網頁抓取入口,沒有抓取入口也就沒有辦法繼續工作,所以首先要給 Spider一些網頁入口,然後 Spider順著這些入口進行爬行抓取,這裡就涉及抓取策略的問題。抓取策略的選擇會直接影響 Spider所需要的資源、 Spider所抓取網頁佔全網網頁的比例,以及 Spider的工作效率。那麼 Spider一般會採用什麼樣的策略抓取網頁呢?

其次,網頁內容也是有時效性的,所以 Spider對不同網頁的抓取頻率也要有一定的策略性,否則可能會使得索引庫中的內容都很陳舊,或者該更新的沒更新,不該更新的卻浪費資源更新了,甚至還會出現網頁已經被刪除了,但是該頁面還存在於搜索結果中的情況。那麼 Spider般會使用什麼樣的再次抓取和更新策略呢?

再次,互聯網中的網頁總有一部分是沒有外部鏈接導入的,也就是常說的「暗暗網」,並且這部分網頁也是需要呈現給廣大網民瀏覽的,此時 Spider就要想方設法針對處於暗網中的網頁進行抓取。當下百度是如何來解決這個暗網問題的呢?

最後,大型搜索引擎的 Spider不可能只有一個,為了節省資源,要保證多個 Spider同時作業且抓取頁面不重複;又由於各地區數據中心分配問題,搜索引引擎一般不會把 Spider伺服器放置在一個地區,會多地區同時作業,這兩方面就涉及分散式抓取的策略問題。那麼一般搜索引擎的 Spider會採用什麼樣的分布抓取策略呢?

接下來逐一介紹一般的搜索引擎 Spider在面臨以上問題時採用的是什麼策略,並詳細地了解一下整個搜索引擎最上游的 spider到底是如何工作的,以及一個優秀的 Spider程序應該有哪些特點。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 孔生SEO 的精彩文章:

TAG:孔生SEO |