?
網站優化
當前位置:主頁 > 新聞資訊 > 網站優化 >
百度優化搜索引擎原理分析
發布日期:2020-08-06 閱讀次數: 字體大?。?a href="javascript:;" onClick="ChangeFontSize('content',16)">大

網站SEO優化的人應該要對搜索引擎的基本原理有一些了解,如搜索引擎發現網址到該頁面擁有排名,以及后續更新的整個過程中,搜索引擎到底是怎么工作的。對于專業的算法不必進行深入的研究,但是對于搜索引擎工作中的策略和算法原理要有個簡單的認知,這樣才能更有效地開展網站SEO優化工作,知其然也要知其所以然。當然,也有一些朋友不懂這些,照樣做得有聲有色,但是對于搜索引擎工作原理,懂總比不懂要好一些。
其實當你了解了搜索引擎的工作流程、策略和基本算法后,就可以在一定程度上避免因為不當操作而帶來的處罰,同時也可以快速分析出很多搜索引擎搜索結果異常的原因。有搜索行為的地方就有搜索引擎,站內搜索、全網搜索、垂直搜索等都會用到搜索引擎。接下來,智美科技會根據從業認知,討論一下搜索引擎的基本架構。百度、Google等綜合搜索巨頭肯定有著更為復雜的架構和檢索技術,但宏觀上的基本原理都差不多。
搜索引擎的大概架構如圖所示??梢苑殖商摼€左右兩個部分:一部分是主動抓取網頁進行一系列處理后建立索引,等待用戶搜索;另一部分是分析用戶搜索意圖,展現用戶所需要的搜索結果。
 
索引擎主動抓取網頁,并進行內容處理、索引部分的流程和機制一般如下。
步驟 01 派出Spider,按照一定策略把網頁抓回到搜索引擎服務器;
步驟 02 對抓回的網頁進行鏈接抽離、內容處理,消除噪聲、提取該頁主題文本內容等;
步驟 03 對網頁的文本內容進行中文分詞、去除停止詞等;
步驟 04 對網頁內容進行分詞后判斷該頁面內容與已索引網頁是否有重復,剔除重復頁,對剩余網頁進行倒排索引,然后等待用戶的檢索。
當有用戶進行查詢后,搜索引擎工作的流程機制一般如下。
步驟 01 先對用戶所查詢的關鍵詞進行分詞處理,并根據用戶的地理位置和歷史檢索特征進行用戶需求分析,以便使用地域性搜索結果和個性化搜索結果展示用戶最需要的內容;
步驟 02 查找緩存中是否有該關鍵詞的查詢結果,如果有,為了最快地呈現查詢結果,搜索引擎會根據當下用戶的各種信息判斷其真正需求,對緩存中的結果進行微調或直接呈現給用戶;
步驟 03 如果用戶所查詢的關鍵詞在緩存中不存在,那么就在索引庫中的網頁進行調取排名呈現,并將該關鍵詞和對應的搜索結果加入到緩存中;
步驟 04 網頁排名是根據用戶的搜索詞和搜索需求,對索引庫中的網頁進行相關性、重要性(鏈接權重分析)和用戶體驗的高低進行分析所得出的。用戶在搜索結果中的點擊和重復搜索行為,也可以告訴搜索引擎,用戶對搜索結果頁的使用體驗。這塊兒是近來作弊最多的部分,所以這部分會伴隨著搜索引擎的反作弊算法干預,有時甚至可能會進行人工干預。
按照上述搜索引擎的架構,在整個搜索引擎工作流程中大概會涉及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程序應該有哪些特點。
按照現在網絡上所有Spider的作用及表現出來的特征,可以將其分為3類:批量型Spider、增量型Spider和垂直型Spider。
1.批量型Spider
一般具有明顯的抓取范圍和目標,設置抓取時間的限制、抓取數據量的限制或抓取固定范圍內頁面的限制等,當Spider的作業達到預先設置的目標就會停止。普通站長和SEO人員使用的采集工具或程序,所派出的Spider大都屬于批量型Spider,一般只抓取固定網站的固定內容,或者設置對某一資源的固定目標數據量,當抓取的數據或者時間達到設置限制后就會自動停止,這種Spider就是很典型的批量型Spider。
2.增量型Spider
增量型Spider也可以稱之為通用爬蟲。一般可以稱為搜索引擎的網站或程序,使用的都是增量型Spider,但是站內搜索引擎除外,自有站內搜索引擎一般是不需要Spider的。增量型Spider和批量型Spider不同,沒有固定目標、范圍和時間限制,一般會無休止地抓取下去,直到把全網的數據抓完為止。增量型Spider不僅僅抓取盡可能全的頁面,還要對已經抓取到的頁面進行相應的再次抓取和更新。因為整個互聯網是在不斷變化的,單個網頁上的內容可能會隨著時間的變化不斷更新,甚至在一定時間之后該頁面會被刪除,優秀的增量型Spider需要及時發現這種變化,并反映給搜索引擎后續的處理系統,對該網頁進行重新處理。當前百度、Google網頁搜索等全文搜索引擎的Spider,一般都是增量型Spider。
3.垂直型Spider
垂直型Spider也可以稱之為聚焦爬蟲,只對特定主題、特定內容或特定行業的網頁進行抓取一般都會聚焦在某一個限制范圍內進行增量型的抓取。此類型的Spider不像增量型Spider一樣追求大而廣的覆蓋面,而是在增量型Spider上增加一個抓取網頁的限制,根據需求抓取含有目標內容的網頁,不符合要求的網頁會直接被放棄抓取。對于網頁級別純文本內容方面的識別,現在的搜索引擎Spider還不能百分之百地進行準確分類,并且垂直型Spider也不能像增量型Spider那樣進行全互聯網爬取,因為那樣太浪費資源。所以現在的垂直搜索引擎如果有附屬的增量型Spider,那么就會利用增量型Spider以站點為單位進行內容分類,然后再派出垂直型Spider抓取符合自己內容要求的站點;沒有增量型Spider作為基礎的垂直搜索引擎,一般會采用人工添加抓取站點的方式來引導垂直型Spider作業。當然在同一個站點內也會存在不同的內容,此時垂直型Spider也需要進行內容判斷,但是工作量相對來說已經縮減優化了很多?,F在一淘網、優酷下的搜庫、百度和Google等大型搜索引擎下的垂直搜索使用的都是垂直型Spider。雖然現在使用比較廣泛的垂直型Spider對網頁的識別度已經很高,但是總會有些不足,這也使得垂直類搜索引擎上的SEO有了很大進步空間。
本書主要討論網頁搜索的SEO,所以討論的內容以增量型Spider為主,也會簡單涉及垂直型Spider方面的內容,其實垂直型Spider完全可以看作是做了抓取限制的增量型Spider。
2.1.2 Spider的抓取策略
在大型搜索引擎Spider的抓取過程中會有很多策略,有時也可能是多種策略綜合使用。這里簡單介紹一下比較簡單的Spider抓取策略,以輔助大家對Spider工作流程的理解。Spider抓取網頁,在爭取抓取盡可能多網頁的前提下,首先要注意的就是避免重復抓取,為此Spider程序一般會建立已抓取URL列表和待抓取URL列表(實際中是由哈希表來記錄URL的兩個狀態)。在抓取到一個新頁面時,提取該頁面上的鏈接,并把提取到的鏈接和已抓取URL列表中的鏈接進行逐一對比,如果發現該鏈接已經抓取過,就會直接丟棄,如果發現該鏈接還未抓取,就會把該鏈接放到待抓取URL隊列的末尾等待抓取。
(1)已經抓取過的頁面,即Spider已經抓取過的頁面。
(2)待抓取頁面,也就是這些頁面的URL已經被Spider加入到了待抓取URL隊列中,只是還沒有進行抓取。
(3)可抓取頁面,Spider根據互聯網上的鏈接關系最終是可以找到這些頁面的,也就是說當下可能還不知道這些頁面的存在,但是隨著增量型Spider的抓取,最終會發現這些頁面的存在。
(4)暗網中的頁面,這些網頁和表層網絡上的網頁是脫鉤的,可能這些頁面中有鏈接指向以上三類網頁,但是通過以上三類網頁并不能找到這些頁面。比如,網站內需要手動提交查詢才能獲得的網頁,就屬于暗網中的網頁。據估計暗網網頁要比非暗網網頁大幾個數量級。
全文搜索引擎的Spider一直致力于抓取全網的數據,現在Spider對于非暗網網頁已經具備大量高效的抓取策略。對于暗網的抓取,各個搜索引擎都在努力研究自己不同的暗網Spider抓取策略,百度為此推出了“阿拉丁”計劃,鼓勵有優質資源的網站把站內資源直接以XML文件的形式提交給百度,百度會直接進行抓取和優先排名顯示。這里主要討論Spider針對非暗網中網頁的抓取策略。
當Spider從一個入口網頁開始抓取時,會獲得這個頁面上所有的導出鏈接,當Spider隨機抓取其中的一個鏈接時,同樣又會收集到很多新的鏈接。此時Spider面臨一個抓取方式的選擇:
(1)先沿著一條鏈接一層一層地抓取下去,直到這個鏈接抓到盡頭,再返回來按照同樣的規則抓取其他鏈接,也就是深度優先抓取策略。
(2)還是先把入口頁面中的鏈接抓取一遍,把新發現的URL依次進行入庫排列,然后對這些新發現的頁面進行遍歷抓取,再把最新發現的URL進行入庫排列等待抓取,依次抓取下去,也就是廣度優先抓取策略。
①深度優先策略
深度優先策略即一條道走到黑,當沿著一個路徑走到無路可走時,再返回來走另一條路。如圖所示為深度優先抓取策略的示意圖,假設A頁面為Spider的入口,Spider在A頁面上發現了1、7、11三個頁面的鏈接,然后Spider會按照圖中數字所標示的順序依次進行抓取。當第一條路徑抓到3頁面時到頭了,就會返回2頁面抓取第二條路徑中的4頁面,在4頁面也抓到頭了,就會返回1頁面抓取第三條路徑中的5頁面,并順著一路抓下去,抓到頭后會按照之前的規則沿一條一條路徑抓下去。
②廣度優先策略
廣度優先策略即Spider在一個頁面上發現多個鏈接時,并不是一條道走到黑,順著一個鏈接繼續抓下去,而是先把這些頁面抓一遍,然后再抓從這些頁面中提取下來的鏈接。如圖所示為廣度優先抓取策略的示意圖,假設A頁面為Spider的入口,Spider在A頁面上發現了1、2、3三個頁面。當抓完1網頁時,只是把1網頁中4和5網頁的鏈接放入待抓取URL列表,并不會繼續抓1頁面中的其他鏈接,而是抓2頁面。當b級頁面抓取完成時,才會抓取從b級頁面中提取到c級頁面中的4、5、6、7、8、9六個頁面,等c級頁面抓取完成后,再抓取從c級頁面中提取到的d級新頁面,依次持續抓取下去。
理論上Spider不論采用深度優先策略還是廣度優先策略,只要時間足夠,都可以把整個互聯網上的網頁抓取一遍。但是搜索引擎本身的資源也是有限的,快速抓取全互聯網有價值的頁面只是一種奢望而已,所以搜索引擎的Spider不是只使用一種策略無限地抓取新頁面,而是采用兩種策略相結合的方式來進行抓取。一般Spider可以在域名級別的頁面使用廣度優先抓取策略,盡可能地收集更多的網站。在網站內頁級別一般會根據網站的權重綜合使用廣度和深度優先抓取策略,也就是說網站的權重越高,抓取量也會越大,剛上線的網站可能只會被抓一個首頁。這也是很多新網站在一定時間內,在搜索引擎中只首頁被索引的原因之一。
上面討論的兩個策略是站在Spider只是單純想抓取全互聯網數據的基礎上,所需要選擇的策略。實際在搜索引擎中,雖然Spider在盡力保證抓取頁面的全面性,但是由于自身資源有限,所以在盡力抓取全網的同時,還要考慮對重要頁面的優先抓取。這個“重要頁面”的定義應該是指在互聯網中比較重要的頁面,該頁面內容應該具有影響力比較大、需要了解該內容的網民比較多或時效傳播性比較強的特點。體現到抓取策略上,就是這個頁面的導入鏈接很多,或者是權重高的大站中的網頁??偨Y來說,就是兩個策略:重要網頁優先抓取策略和大站鏈接優先抓取策略。
(1)重要頁面優先抓取策略
一般認為頁面的重要性,除了受寄主站點本身的質量和權重影響以外,就看導入鏈接的多少和導入鏈接的質量了。Spider抓取層面上的“重要頁面”一般由導入的鏈接來決定。在前面所討論的抓取策略中,Spider一般都會把新發現的未抓取過的URL依次放到待抓取URL隊列的尾端,等待Spider按順序抓取。在重要頁面優先抓取的策略中就不是這樣的了,這個待抓取URL隊列的順序是在不斷變化的。排序的依據是:頁面獲得的已抓取頁面鏈接的多少和鏈接權重的高低。如圖2-2所示,按照普通的抓取策略,Spider的抓取順序應該是1、2、3、4、5、6、7……,使用重要頁面優先策略后,待抓取頁面的排序將變成6、4、5……。
(2)大站優先策略
大站優先策略,這個思路很簡單。被搜索引擎認定為“大站”的網站,一定有著穩定的服務器、良好的網站結構、優秀的用戶體驗、及時的資訊內容、權威的相關資料、豐富的內容類型和龐大的網頁數量等特征,當然也會相應地擁有大量高質量的外鏈。也就是在一定程度上可以認定這些網站的內容就可以滿足相當比例網民的搜索請求,搜索引擎為了在有限的資源內盡最大的努力滿足大部分普通用戶的搜索需求,一般就會對大站進行“特殊照顧”。因此大家可以看到新浪、網易類網站上自主發布的內容幾乎都會被百度秒收,因為百度搜索的Spider在這些網站上是7×24小時不間斷抓取的。如果有新站的鏈接出現在這些網站的重要頁面上,也會相應地被快速抓取和收錄。曾經有朋友試驗新站秒收的策略:把新站的鏈接推到一些大站的首頁,或掛到大站首頁所推薦的頁面中,效果非常不錯。
這兩個策略與前面所討論的廣度優先策略和深度優先策略相結合的抓取方式是有共同點的。比如,從另一個角度來看,如果Spider按照前兩個策略抓取,一個頁面獲得的導入鏈接越多,被提前抓到的幾率就越大,也就是和重要頁面優先抓取是趨同的;在Spider資源有限的情況下廣度優先策略和深度優先策略的結合分配本身就會以站點的大小進行區別對待,大網站的頁面有著先天的高重要程度,往往也容易獲得更多的鏈接支持。所以宏觀來看,這幾個策略在抓取表現上有相近之處,在實際的抓取過程中相輔相成。
相對于整個互聯網的網頁來說,Spider的資源再充足也是有限的,所以優秀的Spider程序應該首先保證對重要網頁的抓取,然后才是盡力抓取盡可能全的互聯網網頁信息。由此也可以看出依靠外部鏈接來引導Spider和提升網站權重,以及依靠內容長期運營網站權重的重要性。
 

網站優化
建站百科
微信營銷
公司新聞
今日賞析
定制案例
?
日本熟妇人妻高清无码视频_日本熟妇色在线视频不卡_日本熟妇熟色在线观看