什麼是網路爬蟲?| 網路蜘蛛如何運作

網路爬蟲或蜘蛛,是典型由類似 Google 和 Bing 等搜尋引擎所執行的機器人。它們旨在製作網際網路上所有網站的內容索引,好讓搜尋引擎結果能顯示這些網站。

學習目標

閱讀本文後,您將能夠:

  • 了解何謂網路爬蟲機器人(或蜘蛛)
  • 了解網路爬蟲如何選擇要爬行的網頁
  • 說明網路爬行和網路剽竊的區別
  • 探討特定網頁是否應允許網路爬行

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

使用 Cloudflare 防禦憑證填充和內容剽竊等傀儡程式攻擊

何謂網路爬蟲機器人?

網路爬蟲、蜘蛛或搜尋引擎機器人,會下載網際網路上所有的內容並製作相關索引。此類機器人旨在學習網站(幾乎)每個網頁,以便有必要時擷取資訊。稱此應用程式為「網路爬蟲」,是因為「爬行」是用於指代自動存取網站並透過軟體程式取得資料的技術詞彙。

這些機器人幾乎總是由搜尋引擎操作。透過將搜尋演算法套用至網路爬蟲收集的資料,搜尋引擎可以提供相關連結來回應使用者搜尋查詢,產生一個網頁清單,當使用者在 Google 或 Bing(或其他搜尋引擎)中輸入搜尋後顯示。

網路爬蟲機器人就像一個人,在一個雜亂無章的圖書館中瀏覽所有書籍,並整理出一個卡片目錄,以便造訪圖書館的任何人都可以快速輕鬆地找到他們需要的資訊。為了幫助按主題對圖書館的書籍進行分類和排序,整理者將閱讀每本書的標題、摘要和一些內部文字,以瞭解其內容。

網路爬蟲機器人組織資訊

然而,與圖書館不同的是,網際網路並不是由一堆實體書籍組成的,這使得很難判斷是所有必要的資訊都已正確索引,還是有大量資訊被忽略。為了嘗試找到網際網路可提供的所有相關資訊,網路爬蟲機器人將從一組特定的已知網頁開始,然後追蹤這些頁面上的超連結前往其他頁面,再追蹤這些其他頁面的超連結前往更多頁面,如此不斷進行此作業。

我們不知道搜尋引擎機器人實際上已爬行了多少公開的網際網路。一些資料來源估計,只有 40-70% 的網際網路被編入搜尋索引,這相當於數十億個網頁。

何謂搜尋索引?

搜尋索引如同為網際網路製作圖書館卡片目錄,好讓搜尋引擎知道,一旦有人在網際網路上搜尋資訊,該往何處取得答案。此外,也可將搜尋索引比作書籍背面的索引,後者列出了書中提到某個主題或短語的所有位置。

索引主要強調頁面顯示的文字,以及使用者看不到的頁面中繼資料*。大部分搜尋引擎製作頁面索引時,會將頁面上的所有文字新增至索引,而 Google 的做法是排除「a」、「an」和「the」的字眼。使用者搜尋這些字時,搜尋引擎將瀏覽這些字詞出現的所有頁面索引,再選擇最相關的頁面。

*在搜尋索引中,中繼資料指的是向搜尋引擎說明網頁內容的資料。有別於使用者看得見的網頁內容,中繼標題和中繼說明將顯示在搜尋引擎的結果頁。

網路爬蟲如何運作?

網際網路不斷改變和擴展。由於我們不可能知道網際網路上到底有多少網頁,網路爬蟲機器人先從種子,或已知 URL 清單開始。它們先爬行 URL 上的網頁,同時也會尋找連結至其他 URL 的超連結,並將其新增至接下來要爬行的頁面清單中。

由於網際網路上有大量網頁需要製作搜尋索引,這個流程幾乎會一直持續下去。但是,網路爬蟲會遵循特定政策,讓它對於要爬行的頁面、爬行順序以及再次爬行以檢查內容更新的頻率更有選擇性。

每個頁面的相關重要性:大部分網路爬蟲不會爬行整個公開可用的網際網路,也無意這樣做;相反,它們根據連結到該頁面的其他頁面的數量、該頁面獲得的訪客數量以及表示該頁面包含重要資訊之可能性的其他因素,來決定先爬行哪些頁面。

其理念是,被許多其他網頁引述並吸引大量訪客的網頁可能包含高品質的權威性資訊,因此,就如同圖書館會大量存放許多人會借的書一樣,搜尋引擎將此類網頁編入索引就尤為重要。

再造訪網頁:Web 上的內容持續更新、移除或移轉至新位置。網路爬蟲將定期再造訪網頁,確定已製作最新版內容的索引。

Robots.txt 條件要求:網路爬蟲也根據 robots.txt 通訊協定(又名網路爬蟲排除通訊協定),決定爬行哪些網頁。爬行網頁前,它們將檢查由該網頁的 Web 伺服器所代管的 robots.txt 檔案。robots.txt 是指定任何機器人存取代管網站或應用程式規則的文字檔。這些規則定義機器人可爬行的網頁,以及可跟隨的連結。作為一個範例,請查看 Cloudflare.com robots.txt 檔案

在每個搜尋引擎建立到其蜘蛛機器人中的專有演算法中,所有這些因素都有不同的權重。儘管網路爬蟲的最終目標都是從網頁下載內容並建立索引,但來自不同搜尋引擎的網路爬蟲的行為會略有不同。

為什麼網路爬蟲又被稱為「蜘蛛」?

網際網路,或至少是大部份使用者存取的部份,又名全球資訊網 (World Wide Web),也就是大部份網站 URL 以「www」作為起頭的原因。把搜尋引擎機器人稱為「蜘蛛」其實是很正常的事,因為程式在網路四處搜尋,就如同蜘蛛在蜘蛛網上爬行一樣。

應經常允許網路爬蟲機器人存取 Web 資產嗎?

應由 Web 資產決定,且需視幾個元素而定。網路爬蟲需要伺服器資源來索引內容——它們會發出伺服器需要回應的請求,就像使用者造訪網站或其他機器人造訪網站一樣。根據每個頁面上的內容量或網站上的頁面數量,不要過於頻繁地允許搜尋索引可能更符合網站營運商的最佳利益,因為過多的索引可能會使伺服器負擔過重,增加頻寬成本,或者同時產生這兩個問題。

此外,開發人員或公司可能不希望某些網頁被發現,僅對向其提供了網頁連結的使用者開放(而不將該頁面置於付費牆或登入後面)。舉例來說:某企業建立專屬的行銷活動登陸頁,但他們不希望任何非活動目標的人造訪該頁面。這樣做可確切制訂相關訊息,或確切評量頁面的效能。在此等情況下,企業可在登陸頁新增「不必索引」 (no index) 標記,就不會顯示在搜尋引擎的結果內。他們也可以在網頁或 robots.txt 檔案中新增「不允許」 (disallow) 標籤,那麼搜尋引擎蜘蛛就絕對不會爬行到該網頁。

網站擁有者可能會基於許多其他理由,不希望網路爬蟲機器人爬到其部分或全部網站。例如,為使用者提供網站內搜尋能力的網站可能希望封鎖搜尋結果頁面,因為這些頁面對大多數使用者來說都沒有用。其他僅對一個使用者或少數特定使用者有幫助的自動產生頁面也應該被封鎖。

網路爬行和網路剽竊有何不同?

網站剽竊、資料剽竊內容剽竊指的是機器人未經網站允許就下載相關內容,往往旨在用相關內容達成惡意目的。

網路剽竊通常比網路爬行更有針對性。網路剽竊者可能只追蹤特定頁面或特定網站,而網路爬蟲會持續追蹤連結並爬行頁面。

此外,網站剽竊機器人也許會無視對網頁伺服器帶來的壓力,而網路爬蟲,特別是來自主要搜尋引擎的應用程式,將遵循 robots.txt 檔案並限制其查詢,不對網頁伺服器帶來過重的負擔。

網路爬蟲如何影響搜尋引擎最佳化作業 (SEO)?

SEO 是搜尋引擎最佳化的英文縮寫,是指針對搜尋索引而準備內容的學科,以便網站在搜尋引擎結果中顯示在更靠前的位置。

如果蜘蛛機器人不爬行某個網站,則該網站無法編入索引,也不會顯示在搜尋結果中。因此,如果網站擁有者想要從搜尋結果中獲得自然流量,那麼不封鎖網路爬蟲機器人就非常重要。

網路爬蟲清單

來自主要搜尋引擎的機器人:

  • Google:Googlebot(實際上有兩個網路爬蟲,分別是:Googlebot Desktop 和 Googlebot Mobile,分別適用於電腦版和行動版搜尋)
  • Bing:Bingbot
  • DuckDuckGo:DuckDuckBot
  • Yahoo! Search:Slurp
  • Yandex:YandexBot
  • Baidu: Baiduspider
  • Exalead:ExaBot

還有許多其他網路爬蟲機器人,其中一些不與任何搜尋引擎關聯。

為什麼機器人管理考慮網路爬行很重要?

惡意機器人能造成許多損害,涵蓋糟糕使用者體驗、伺服器故障、資料竊盜等等。然而,封鎖惡意機器人時,重要的是仍允許網路爬蟲之類的善意機器人存取 web 資產。Cloudflare 機器人管理允許善意機器人持續存取網站,同時緩解惡意的機器人流量。產品持續自動更新善意機器人允許清單(如網路爬蟲),以確保不會封鎖此類機器人。小型組織可以透過 Cloudflare Pro 和 Business 方案中提供的 Super Bot Fight 模式,獲得對機器人流量類似級別的可見度和控制。