搜尋引擎蜘蛛的基本原理及工作流程

2021-01-07 西安網站建設古月建站

搜尋引擎用來爬行和訪問頁面的程序被稱為蜘蛛(spider),也叫機器人(bot)。搜尋引擎蜘蛛訪問網站頁面時類似於普通用戶使用瀏覽器,蜘蛛程序發出頁面訪問請求後,伺服器返回HTML代碼,蜘蛛程序把收到的代碼存入原始頁面資料庫,搜尋引擎為了提高爬行和抓取的速度,都使用多個蜘蛛分布爬行。

蜘蛛訪問網站時,首先會訪問網站根目錄下的robots.txt文件,如果robots.txt文件禁止搜尋引擎抓取某些網頁或者內容,再或者網站,蜘蛛將遵循協議,不對其進行抓取(具體可查看古月建站博客《robots協議文件的寫法及語法屬性解釋》的相關介紹)。

蜘蛛也是有自己的代理名稱的,在站長日誌中可以看出蜘蛛爬行的痕跡,這也就是為什麼這麼多站長解答問題的時候,都會說先查看網站日誌(作為一個出色的SEO你必須具備不藉助任何軟體查看網站日誌的能力,並且要非常熟悉其代碼的意思)。

一、搜尋引擎蜘蛛的基本原理

搜尋引擎蜘蛛即Spider,是一個很形象的名字,把網際網路比喻成一個蜘蛛網,那麼Spider就是在網上爬來爬去的蜘蛛。

網絡蜘蛛是通過網頁的連結地址來尋找網頁,從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它連結地址,然後通過這些連結地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完為止。

如果把整個網際網路當成一個網站,那麼網絡蜘蛛就可以用這個原理把網際網路上所有的網頁都抓取下來。

對於搜尋引擎來說,要抓取網際網路上所有的網頁幾乎是不可能的,從目前公布的數據來看,容量最大的搜尋引擎也不過是抓取了整個網頁數量的百分之四十左右。

這其中的原因一方面是抓取技術的瓶頸,100億網頁的容量是100×2000G字節,即使能夠存儲,下載也存在問題(按照一臺機器每秒下載20K計算,需要340臺機器不停的下載一年時間,才能把所有網頁下載完畢),同時,由於數據量太大,在提供搜索時也會有效率方面的影響。

因此,許多搜尋引擎的網絡蜘蛛只是抓取那些重要的網頁(每個搜尋引擎的蜘蛛抓取的原則也都不同,具體可對照一下古月建站博客的《解讀IIS日誌中搜尋引擎蜘蛛名稱代碼及爬尋返回代碼》相關介紹來查詢一下你的網站日誌),而在抓取的時候評價重要性主要的依據是某個網頁的連結深度。

由於不可能抓取所有的網頁,有些網絡蜘蛛對一些不太重要的網站,設置了訪問的層數,例如,下圖中所示:

A為起始網頁,屬於0層,B、C、D、E、F屬於第1 層,G、H屬於第2層,I屬於第3層,如果網絡蜘蛛設置的訪問層數為2的話,網頁I是不會被訪問到的,這也讓有些網站上一部分網頁能夠在搜尋引擎上搜索到,另外一部分不能被搜索到。

對於網站設計者來說,扁平化的網站結構設計有助於搜尋引擎抓取其更多的網頁。

網絡蜘蛛在訪問網站網頁的時候,經常會遇到加密數據和網頁權限的問題,有些網頁是需要會員權限才能訪問。

當然,網站的所有者可以通過協議讓網絡蜘蛛不去抓取,但對於一些出售報告的網站,他們希望搜尋引擎能搜索到他們的報告,但又不能完全免費的讓搜索者查看,這樣就需要給網絡蜘蛛提供相應的用戶名和密碼。

網絡蜘蛛可以通過所給的權限對這些網頁進行網頁抓取,從而提供搜索,而當搜索者點擊查看該網頁的時候,同樣需要搜索者提供相應的權限驗證。

二、追蹤連結

由於搜尋引擎蜘蛛為了能夠抓取網上儘量多的頁面,它會追蹤網頁上的連結,從一個頁面爬到下一個頁面,就好像是蜘蛛在蜘蛛網上爬行那樣,這就是搜尋引擎蜘蛛這個名稱的來因。

整個網際網路網站都是相互連結組成的,也就是說,搜尋引擎蜘蛛從任何一個頁面出發最終都會爬完所有頁面。

當然網站和頁面連結結構太過於複雜,所以蜘蛛只有採用一定的方法才能夠爬完所有頁面,據古月建站了解最簡單的爬行策略有3種:

1、最佳優先

最佳優先搜索策略按照一定的網頁分析算法,預測候選URL與目標網頁的相似度,或與主題的相關性,並選取評價最好的一個或幾個URL進行抓取,它只訪問經過網頁分析算法預測為「有用」的網頁。

存在的一個問題是,在爬蟲抓取路徑上的很多相關網頁可能被忽略,因為最佳優先策略是一種局部最優搜索算法,因此需要將最佳優先結合具體的應用進行改進,以跳出局部最優點,據古月建站博客的研究發現,這樣的閉環調整可以將無關網頁數量降低30%~90%。

2、深度優先

深度優先是指蜘蛛沿著發現的連結一直向前爬行,直到前面再也沒有其他連結,然後返回到第一個頁面,沿著另一個連結再一直往前爬行。

3、廣度優先

廣度優先是指蜘蛛在一個頁面發現多個連結時,不是順著一個連結一直向前,而是把頁面上所有連結都爬一遍,然後再進入第二層頁面沿著第二層上發現的連結爬向第三層頁面。

從理論上說,無論是深度優先還是廣度優先,只要給蜘蛛足夠的時間,都能爬完整個網際網路。

在實際工作中,蜘蛛的帶寬資源、時間都不是無限的,也不能爬完所有頁面,實際上最大的搜尋引擎也只是爬行和收錄了網際網路的一小部分,當然也並不是搜尋引擎蜘蛛爬取的越多越好,這點我曾在古月建站博客的《抓取網站的搜尋引擎蜘蛛是不是越多越好》一文中跟大家做過詳細的介紹。

因此,為了儘量多的抓取用戶信息,深度優先和廣度優先通常是混合使用的,這樣既可以照顧到儘量多的網站,也能照顧到一部分網站的內頁。

三、搜尋引擎蜘蛛工作中的信息收集

信息收集模塊包括「蜘蛛控制」和「網絡蜘蛛」兩部分,「蜘蛛」這個稱呼形象的描述出了信息收集模塊在網絡數據形成的「Web」上進行信息獲取的功能。

總體而言,網絡蜘蛛從種子網頁出發,通過反覆下載網頁並從文檔中尋找未曾見過的URL,達到訪問其他網頁得以遍歷Web的目的。

而其工作策略一般則可以分為累積式抓取(cumulative crawling)和增量式抓取(incremental crawling)兩種。

1、累積式抓取

累積式抓取是指從某一個時間點開始,通過遍歷的方式抓取系統所能允許存儲和處理的所有網頁。在理想的軟硬體環境下,經過足夠的運行時間,累積式抓取的策略可以保證抓取到相當規模的網頁集合。

但在古月建站看來由於Web數據的動態特性,集合中網頁的被抓取時間點是不同的,頁面被更新的情況也不同,因此累積式抓取到的網頁集合事實上並無法與真實環境中的網絡數據保持一致。

2、增量式抓取

與累積式抓取不同,增量式抓取是指在具有一定量規模的網絡頁面集合的基礎上,採用更新數據的方式選取已有集合中的過時網頁進行抓取,以保證所抓取到的數據與真實網絡數據足夠接近。

進行增量式抓取的前提是,系統已經抓取了足夠數量的網絡頁面,並具有這些頁面被抓取的時間信息。面向實際應用環境的網絡蜘蛛設計中,通常既包括累積式抓取,也包括增量式抓取的策略。

累積式抓取一般用於數據集合的整體建立或大規模更新階段,而增量式抓取則主要針對數據集合的日常維護與即時更新。

在確定了抓取策略之後,如何從充分利用網絡帶寬,合理確定網頁數據更新的時間點就成了網絡蜘蛛運行策略中的核心問題。

總體而言,在合理利用軟硬體資源進行針對網絡數據的即時抓取方面,已經形成了相對比較成熟的技術和實用性解決方案,古月建站覺得在這方面目前所需解決的主要問題是如何更好的處理動態網絡數據問題(如數量越來越龐大的Web2.0數據等),以及更好的根據網頁質量修正抓取策略的問題。

四、資料庫

為了避免重複爬行和抓取網址,搜尋引擎會建立一個資料庫,記錄已被發現還沒有抓取的頁面和已經被抓取的頁面,那麼資料庫中的URL是怎麼來的呢?

1、人工錄入種子網站

這個簡單的來說,就是我們建好一個新站後,向百度、Google或360提交的網址收錄。

2、蜘蛛抓取頁面

如果搜尋引擎蜘蛛在爬取的過程中,發現了新連接URL,資料庫中沒有,就會存入待訪問資料庫(網站觀察期)。

蜘蛛按重要性從待訪問資料庫中提取URL,訪問並抓取頁面,然後把這個URL從待訪問地址庫中刪除,放進已訪問地址庫中,所以古月建站建議各位站長在網站觀察期的時候儘量有規律的更新網站是必要的。

3、站長提交網站

一般來說,提交網站只是把網站存入待訪問資料庫,如果網站持久不更新蜘蛛也不會光顧,搜尋引擎收錄的頁面都是蜘蛛自己追蹤連結得到的。

所以你提交給搜尋引擎其實用處不大,還是要根據後期你網站更新程度來考慮,搜尋引擎更喜歡自己沿著連結發現新頁面,當然如果說你的SEO技術夠老練,並且有這能力,可以試一下,說不定會有意想不到的效果,不過,對於一般在站長來說,古月建站還是建議讓蜘蛛自然的爬行和抓取到新站頁面。

五、吸引蜘蛛

雖然理論上說蜘蛛可以爬行和抓取所有頁面,但實際上是不可能完成的,那麼SEO人員想要收錄更多的頁面就只有想辦法引誘蜘蛛抓取。

既然抓不了所有頁面,那麼我們就要讓它抓取重要頁面,因為重要頁面在索引中起到重要決定,直接影響排名的因素,哪麼那些頁面算是比較重要的呢?對此,古月建站也特意整理了以下幾個我認為比較重要頁面,具體有這麼幾個特點:

1、網站和頁面權重

質量高、年齡老的網站被給予很高的權重,這種網站上的頁面蜘蛛爬行的深度比較高,所以會有更多的內頁被收錄。

2、頁面更新度

蜘蛛每次爬行都會把頁面數據儲存起來,如果第二次爬行時發現此頁面與第一次收錄的內容完全一樣,說明頁面沒有更新,蜘蛛也沒必要經常再來爬行和抓取。

如果頁面內容經常更新,蜘蛛就會頻繁的爬行和抓取,那麼,頁面上的新連結自然的會被蜘蛛更快的追蹤和抓取,這也就是為什麼需要每天更新文章(具體可查看古月建站博客的《百度收錄網站文章的現狀及原則依據》相關介紹)。

3、導入連結

無論是外部連結還是同一個網站的內部連結,要被蜘蛛抓取,就必須有導入連結進入頁面,否則蜘蛛根本不知道頁面的存在。此時的URL連結起著非常重要的作用,內鏈的重要性發揮出來了。

另外,古月建站覺得高質量的導入連結也經常使頁面上的導出連結被爬行的深度增加。

這也就是為什麼大多數站長或SEO都要高質量友情連結,因為蜘蛛從對方網站爬行到你網站之次數多,深度也高。

4、與首頁點擊距離

一般來說網站首頁權重最高,大部分外部連結都指向首頁,蜘蛛訪問最頻繁的也是首頁,離首頁點擊距離越近,頁面權重越高,被蜘蛛爬行的機會也就越大。

這也就是為什麼要求網站框架建設點擊三次就能查看完整個網站的意思。

六、蜘蛛爬行時的複製內容檢測

一般都知道在搜尋引擎索引環節中中會進行去重處理,其實在蜘蛛爬行的時候已經在進行檢測,當蜘蛛爬行和抓取文件時會進行一定程度的複製內容檢測,遇到權重低的網站上大量轉載或抄襲內容時,很可能不再繼續爬行。

所以對於新站來說切莫採集和抄襲,這也就是為什麼很多站長查看日誌的時候發現了蜘蛛,但是頁面從來沒有被抓取的原因,因為爬行發現是重複內容那麼它講放棄抓取也就只停留在爬行過的階段。

古月建站博客點評:

雖說蜘蛛的作用就是讓搜尋引擎對有效連結進行搜尋,但並不意味著蜘蛛越多越好,有時過多的蜘蛛來網站抓取會造成一定的負面效果,會影響伺服器的運行,導致網頁打開緩慢。

相關焦點

  • 什麼是搜尋引擎蜘蛛?工作原理是什麼?
    通過昨天的分享,我們知道了如何發布文章更容易被搜尋引擎收錄,我們同時提到了「蜘蛛」這個程序,今天帶大家認識一下搜尋引擎蜘蛛。1、搜尋引擎蜘蛛介紹網絡爬蟲,是一種負責收集網絡信息的程序,每個搜尋引擎都配有蜘蛛程序。
  • 三種基本的搜尋引擎蜘蛛類型
    看了幾篇有關於搜尋引擎蜘蛛分類的文章,基本都是一樣的內容,內容來源也都基本是痞子瑞的那本書,內容改動的部分不超過5%,真的是替搜尋引擎的蜘蛛感到不值得啊,辛辛苦苦抓來的竟然都是這種「垃圾頁面」。本文同樣介紹三種基本的搜尋引擎蜘蛛類型,也就是批量型蜘蛛、增量型蜘蛛以及垂直型蜘蛛,至於是不是垃圾內容,您看完再進行評判。為了大家能夠更好的理解,我們把搜尋引擎比作一個擁有無限果樹的果園老闆,蜘蛛比作是摘果子的工人。蜘蛛抓取頁面的過程就是工人摘果子的過程。我們帶著這個比喻來理解搜尋引擎蜘蛛的三種類型。
  • 搜尋引擎蜘蛛(爬蟲)工作過程及原理
    什麼是搜尋引擎爬蟲,搜尋引擎爬蟲是如何工作的。搜尋引擎爬蟲也叫做搜尋引擎蜘蛛,是用來抓取網頁信息的,搜尋引擎抓取過程分為大致五個步驟。#Python爬蟲#分別是:抓取 → 存放 → 甄別 → 收錄 → 權重衡量分配排名搜尋引擎蜘蛛首先會抓取網頁信息
  • 2018年最新搜尋引擎蜘蛛大全
    今天冬鏡SEO講的是2018年最新各大搜尋引擎蜘蛛名稱整理分享各大seo搜尋引擎的蜘蛛會不斷地訪問抓取我們站點的內容,也會消耗一定的站點流量有時候就需要屏蔽某些蜘蛛訪問我們的站點,文章尾部會講解決辦法了解各大搜尋引擎蜘蛛爬蟲,對我們進行網站SEO優化起到很大作用冬鏡SEO收集了各大搜尋引擎的蜘蛛爬蟲UA,以便你需要時查閱
  • 關於SEO搜尋引擎蜘蛛的幾個知識點
    關於SEO搜尋引擎蜘蛛的幾個知識點一、搜尋引擎地址庫為了避免重複爬行和抓取網址,搜尋引擎會建立一個地址庫,記錄已經被發現、但是還沒有抓取的頁面,以及已經被抓取的頁面。蜘蛛在頁面上發現連結後並不是馬上就去訪問,而是將URL存入地址庫,然後統一安排抓取。
  • 搜尋引擎蜘蛛智能到什麼程度?
    關於搜尋引擎蜘蛛的蜘蛛的算法有多強大?今天我們在這裡介紹一下:大家應該有聽過網站降權、K站、不收錄、沒排名等等情況把?首先我們要先知道搜尋引擎蜘蛛是什麼?又稱為網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取全球資訊網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。什麼是網站降權指搜尋引擎對網站評定的級別下降,是搜尋引擎對網站進行的一種處罰方式。通常多為網站自身作弊導致的,改正錯誤一段時間後會自行恢復。
  • 搜尋引擎蜘蛛如何判斷文章原創度?
    seo優化人員有一個很重要的工作就是每天更新網站文章,文章原創度越高,對搜尋引擎越友好。那麼搜尋引擎是怎麼判斷文章是否是原創?星若傳媒小編總結了幾點:1.百度蜘蛛最先在哪裡看到這個內容一般那些權重高的平臺,搜尋引擎蜘蛛抓取網站比較頻繁,那些從這些平臺複製粘貼的內容,百度蜘蛛是可以辨別出來哪個是原創。但還有一種情況,就是你剛更新內容就被別人給轉載了,有可能是別人知道了你更新文章的規律,但他的權重比你的高,就很可能會導致蜘蛛認為他的是自創,這就是高權重的好處。
  • 機械錶的基本構造及工作原理
    這裡的內容僅僅是淺談,由於做表多年,入行當初接觸的是正品手錶,後來開始做復刻,也算多年的學習積累,對機械錶基本工作原理和最基礎的機械錶機芯構造還算了解,太複雜的構造這裡就不說了(這裡只是講基本原理,說太多複雜機芯那純粹是忽悠)。
  • 什麼是搜尋引擎蜘蛛,什麼是爬蟲程序?有哪些類型
    什麼是搜尋引擎蜘蛛,什麼是爬蟲程序?搜尋引擎蜘蛛程序,其實就是搜尋引擎的一個自動應用程式,它的作用是什麼呢?其實很簡單,就是在網際網路中瀏覽信息,然後把這些信息都抓取到搜尋引擎的伺服器上,然後建立索引庫等等。
  • SEO搜尋引擎優化代運營,教育類網站如何優化?
    網站搜索排名是指網站內關鍵詞在百度、360、搜狗、Google、uc神馬等搜尋引擎上的搜索排名,要想做好網站搜索排名,必須先了解基本的搜索工作要領。 搜尋引擎優化型的網站如何優化? 第一步:關鍵詞選擇 關鍵詞選擇錯了,後面做的工作等於零,所以進行網站優化前,先要鎖定自己網站的關鍵詞。
  • 按照搜尋引擎蜘蛛抓取規則定期更新文章,穩定首頁排名不在話下
    為了保持網站持續穩定的更新習慣,發現這一規律,實現百度蜘蛛的定期抓取,需要定期發布新內容。作為百度秒數收集的一個關鍵因素,定期定量發布對SEO友情非常有利,所以每天保持相同數量的新發布。今天放棄一篇文章,明天放棄十篇文章。
  • 「數字世界」基本的工作原理
    工作原理。首先回顧並評述了數據孿生概念的起源,其次回顧並評述了各大工業軟體巨頭是如何定義和使用數字孿生的,之後從「數字世界」基本的工作原理角度重新審視了數字孿生,在前述工作的基礎上給出了個人關於數字孿生的觀點,並對想進入該領域的後來者給出了本人的忠告。本系列文章的寫作,得到了e-works數位化企業網總編黃培博士的鼓勵,並給出了寶貴的意見,在此表示衷心的感謝!。
  • 探魚器的基本工作原理及在筏釣上的應用
    其實探魚器是一個相對小眾的一個技術門類,國內釣魚人接觸的時間不長,相關的經銷商也缺乏相應的技術說明能力,有些問題的出現,已經不是使用方法那麼簡單,必須從基本原理上做一些說明才能更好地了解。所以這次寫文,主要是從原理和技術層面去進行闡述,只有了解一定的探魚器工作原理才能對實際使用中的問題得到理解。
  • 合肥音樂噴泉設計-噴泉施工價格基本工作原理
    合肥音樂噴泉設計-噴泉施工價格基本工作原理 ,「xbv898」  江蘇水悅景觀噴泉工程有限公司是從事各類水景噴泉設計,生產製造,安裝調試、維修養護為一體的專業性公司。  合肥音樂噴泉設計-噴泉施工價格據科學統計每公斤用來刺激漂浮的人造霧的水可以溶解公斤冰!
  • 網站優化-怎樣讓搜尋引擎喜歡你的網站
    這樣的網站也經常受到搜尋引擎的打擊,即使暫時排名靠前,但以前也很容易被搜尋引擎壓制。如何挖掘客戶需求在上一節中,我們了解了滿足客戶需求的重要性質,但是在滿足客戶需求之前,我們首先需要挖掘客戶需求。挖掘客戶的前提是了解相關行業,然後共享關鍵字。
  • 深度長文:飛機的工作原理和基本部件
    我們常常瞥見天空中有一架飛機,但對其中原理的了解並不多。這些笨重的機器是如何升空的?要回答這個問題,我們必須進入流體力學的世界。物理學家根據液體和氣體的流動方式將它們歸類為流體。儘管空氣、水和糖漿看起來可能是非常不同的物質,但它們都符合同一套數學關係。事實上,基本的空氣動力測試有時是在水下進行的。即使是晴朗的天空也不是空的。
  • 矢網:反射計包含哪些關鍵部件,以及基本工作原理
    矢網:反射計包含哪些關鍵部件,以及基本工作原理 Knight 發表於 2020-12-22 18:20:21 矢量網絡分析儀是射頻微波器件測試必不可少的設備
  • 職業修圖師的建議|人像修圖基本工作流程
    今天要這裡跟大家分享一個關於修圖工作流程的心得。  練武之人講究一招一式,足球籃球等運動講究戰術紀律,繪畫創作講究手法運用···你會發現,不管做什麼事情,想要更進一步,你都得服從一個貫穿始終的「基本紀律」。這個「基本紀律」,放到我們的修圖工作中的話,被稱作工作流程。
  • 黃山關鍵詞搜索優化公司搜尋引擎關鍵詞優化公司
    天津華陽在線專注於SEO關鍵詞排名優化,品牌網站建設,營銷型網站建設,App、小程序開發,搜尋引擎seo優化,競價託管sem,品牌口碑建設與代運營等服務。企業通過引進前BAT產品經理不斷豐富產品線優化技術實力,力爭為企業提供更優,更全,更精的網絡營銷服務。
  • Camera攝像頭工作原理
    最原始的Camera成像原理說起成像原理,我們不得不說小孔成像,就是有了小孔成像,我們才有了相機這麼神奇的東西。現代Camera 工作原理camera工作原理是外部光線穿過 lens 後, 經過 color filter 濾波後照射到 Sensor 面上, Sensor 將從 lens 上傳導過來的光線轉換為電信號,再通過內部的 AD