網頁爬蟲是什麼?合法界線、robots.txt與委外重點
Posted in :
網頁爬蟲是依照設定自動造訪網頁、下載內容並擷取所需欄位的程式,搜尋引擎靠它探索網站,企業則可能用來盤點自家網站、追蹤公開的公告或商品資訊。技術不難,難在界線:robots.txt 是網站經營者表達「希望檢索器怎麼存取」的標準,但依 RFC 9309,這些規則不是存取授權;能不能抓、抓了能怎麼用,還要看對方的服務條款、個資法與著作權法。企業導入前,先確認資料來源有沒有 API 或授權管道;自家網站被大量爬取時,則要先分辨來者再調整規則。
網頁爬蟲在企業裡的用途
Google 把檢索器定義為「泛指任何用來自動探索及掃描網站的程式」,也稱為漫遊器或自動尋檢程式。除了搜尋引擎,企業內部也可能需要類似的程式:
- 盤點自家網站:改版前列出所有網址、標題與失效連結,或匯出舊站文章。
- 追蹤公開資訊:定期檢查主管機關公告或產業新聞頁,有更新就通知負責人。
- 檢查通路上架資料:確認自家商品在合作通路的頁面是否正確。
原則是:對方提供 API、資料下載或合作窗口,就走正式管道,兩者差別可參考API 是什麼與運作方式;沒有正式管道且條款允許時,才考慮爬蟲。
爬蟲怎麼運作:從送出請求到整理成資料
- 起始清單:列出要造訪的網址,或從網站地圖、列表頁開始。
- 送出請求:以 HTTP 向伺服器要求頁面,請求會帶使用者代理字串,表明是哪個程式在存取。
- 解析頁面:從取回的 HTML 找出標題、日期、規格等欄位。
- 追蹤連結:把符合條件的連結加入待抓清單,排除已抓過的網址。
- 清理與存放:統一格式、去除重複,寫入資料庫或試算表。
- 排程與監控:設定執行頻率,欄位抓不到時發出通知。
兩個細節常被低估:部分網站的內容由 JavaScript 在瀏覽器端載入,只下載 HTML 可能看不到完整資料;對方網站改版後,解析規則也可能整批失效,所以維護要列進規格,不能當成一次性專案。
robots.txt 怎麼讀:依 RFC 9309 的規則
依 RFC 9309,檔案必須放在網站根目錄、檔名全小寫的 /robots.txt;內容由群組組成,每組以 User-agent 指定適用的檢索器,再接 Allow(允許)或 Disallow(不允許)規則。
| 情況 | RFC 9309 的處理方式 |
|---|---|
| 比對檢索器名稱 | 不分大小寫 |
| 沒有符合自己名稱的群組 | 遵守星號(*)群組;連星號群組都沒有,就沒有規則適用 |
| Allow 與 Disallow 衝突 | 以比對字元數多、較具體的規則為準;等長時採 Allow |
| 讀取時得到四開頭狀態碼 | 視為不可用,可存取任何資源 |
| 讀取時得到五開頭狀態碼 | 視為無法連線,必須當成全部不允許;長時間(例如三十天)仍無法連線時,可改視為不可用或沿用快取 |
| 快取 | 不應沿用超過二十四小時,除非檔案無法連線 |
要注意的是,RFC 9309 明寫這些規則不是存取授權,檢索器只是「被要求遵守」;Google 也說明 robots.txt 無法強制規範檢索器,各家解讀方式可能不同。因此沒被禁止的路徑,不代表條款或法規允許擷取。
服務條款、個資與著作權:抓之前的三道檢查
網站服務條款
先讀對方的使用條款或會員條款,看是否限制自動化存取、大量下載或資料再利用。繞過登入、驗證或其他防護的做法不在本文範圍,企業也不應要求廠商這樣做。
個人資料
依個資法第二條,個資包含「得以直接或間接方式識別該個人之資料」,「蒐集」則指以任何方式取得個資,所以擷取含個資的欄位就是蒐集。第十九條第一項規定,非公務機關蒐集或處理第六條特種個資以外的個資,要有特定目的,並符合八款情形之一,例如當事人自行公開或其他已合法公開的個資、取自一般可得的來源;後者若當事人對禁止處理或利用顯有更值得保護的重大利益就不適用,知悉時依第二項應刪除或停止處理。第九條另規定,蒐集非由當事人提供的個資,原則上要在處理或利用前告知來源等事項,條文也列有免告知的情形。用不到的個資欄位,就不要抓。
著作權
著作權法第十條之一說明保護只及於表達,不及於思想、概念;單純傳達事實的新聞報導語文著作,依第九條也不受保護。但具原創性的文章、照片與商品介紹仍可能受保護,「重製」也包含暫時的重複製作,資料的選擇及編排具創作性者還可能以編輯著作受保護。是否屬於合理使用,要依第六十五條審酌利用目的(含是否為商業目的)、著作性質、利用的質量與比例,以及對市場的影響。個案請以主管機關公告或專業意見為準。
網頁爬蟲工具或委外開發:怎麼判斷與要確認的事
網頁爬蟲工具有瀏覽器擴充功能、雲端擷取服務、試算表內建的匯入功能等形式,前述檢查都一樣要做,差別在規模與維護方式。
| 判斷面向 | 現成工具較適合 | 委外開發較適合 |
|---|---|---|
| 資料量與頻率 | 少量、偶爾執行 | 來源多、要固定排程 |
| 欄位處理 | 欄位少、結構單純 | 要清理、比對或合併多個來源 |
| 系統整合 | 匯出檔案人工處理即可 | 要寫進後台、資料庫或通知流程 |
決定委外時,建議把這些項目寫進需求文件或合約:
- 每個來源網站的條款確認結果,以及是否已詢問 API 或資料授權。
- 欄位定義、格式統一、重複資料的判斷,以及原始碼與帳號金鑰的移交方式。
- 遵守 robots.txt、設定請求間隔,並在使用者代理字串註明身分與聯絡方式。
- 對方改版導致欄位失效時,怎麼通知、多久內修復。
- 資料存放位置、保存期限與可存取人員,含個資時另訂刪除機制。
自家網站被爬時的應對
- 先查紀錄:整理來源 IP、使用者代理字串、請求頻率與路徑。
- 驗證自稱 Google 的流量:依 Google 說明,對 IP 執行反向 DNS 查詢,確認網域是 googlebot.com、google.com 或 googleusercontent.com,再做正向 DNS 查詢確認與原 IP 相同;也可比對 Google 公布的 IP 清單。
- 調整 robots.txt:對遵守規則的檢索器有效。若想控管內容是否用於訓練未來世代的 Gemini 模型,以及是否在 Gemini 應用程式與 Vertex AI 上作為 Google 搜尋提供的基礎資訊,可使用 Google-Extended 符記,官方說明它不影響搜尋收錄,也不是排名信號。
- 保護敏感內容:RFC 9309 提醒,列進 robots.txt 的路徑等於公開;後台與私人檔案要用密碼與權限保護。
- 限制請求量:對短時間請求過多的來源回應 429,可加上 Retry-After 標頭。Google 說明緊急降低其檢索頻率時可回傳 500、503 或 429,但不應超過一到兩天。
設定防護規則時,記得確認不會誤擋搜尋引擎,CDN 的防護規則設定有相關提醒;也可在服務條款寫明對自動化存取的規範。
常見問題
網頁爬蟲違法嗎?
不能一概而論,要看抓取的內容、方式與用途,對照服務條款、個資法與著作權法判斷。涉及個資或大量轉載時,建議先請法務或專業人士確認。
被 robots.txt 擋掉的網頁還會出現在搜尋結果嗎?
可能會。Google 說明,用 robots.txt 禁止的網頁,搜尋結果仍可能顯示它的網址。要讓網頁不出現在搜尋結果,應使用 noindex 指令或以密碼保護網頁。
網頁爬蟲和 API 差在哪?
API 是對方正式提供的介面,欄位與使用規則寫在文件裡;爬蟲是從網頁解析資料,對方一改版就可能失效。有 API 可用時,資料格式較明確,也較不受版面改動影響。
網站可以完全擋掉爬蟲嗎?
robots.txt 只能提出要求,無法強制。需要保護的內容要用密碼與權限控管,過量請求可用速率限制處理;全面阻擋也會影響搜尋引擎檢索,設定前要先評估。
委外開發爬蟲的費用怎麼估?
主要看來源網站數量、頁面是否要執行 JavaScript、欄位清理的複雜度、要整合的內部系統,以及維護範圍,實際金額以廠商依需求提出的報價為準。
本文由京采數位科技整理。我們自 2005 年起提供官網設計、系統開發與 Google SEO 服務,實際案例可見成果與案例。
想直接討論你自己的網站狀況,或需要一份初步的搜尋機會評估?
相關主題
下一步
想用資料自動化減少人工整理,先列出需要的資料與來源,確認有沒有 API 或授權管道,再請法務看過條款。京采可以協助釐清需求、規劃 API 串接或資料擷取程式的開發,也能檢查自家網站的 robots.txt、主機存取紀錄與防護設定,做法可參考網頁設計服務,或直接與我們聯繫。

