本機能正常運作的採集腳本,上線跑一段時間後仍可能被攔。常見原因是請求頻率、請求特徵與渲染環境等多種信號疊加。反爬機制持續升級,更穩定的做法是遵守 robots 規則、控制請求頻率,並且只採集公開資料。
本機能正常運作的採集腳本,上線跑一段時間後卻可能中斷。回傳 403、被導向驗證頁,或乾脆只拿到一段空白 HTML,這幾種情況背後通常是同一件事:網站的防護機制判定這次存取不像一般使用者。

腳本為什麼會一路失效
反爬不是某一項單一技術,而是多層判定疊加在一起。最先撞上的往往是頻率:同一個 IP 在短時間內密集向同一路徑發送請求,而且間隔還整整齊齊,這幾乎是最容易辨識的模式。觸發之後,通常先被限速,嚴重時會直接封鎖 IP。
再上一層是身分。請求標頭可能帶著腳本的預設 UA、缺少瀏覽器通常會帶的欄位,或者聲稱自己是 Chrome,卻拿不出相對應的 JavaScript 執行環境與渲染結果,這些都可能被列入判定。架在 CDN 後方的網站還可能多加一層 JavaScript challenge:頁面先回傳一段需要執行後才能取得內容的程式碼,單純的 request library 無法產生執行結果,就只能停在門外。
行為層面的特徵同樣明顯。真人瀏覽會載入圖片與 CSS、會捲動、也會停頓;腳本則常常只取 HTML 就離開。網站會把這幾類信號合併評分,低於門檻就彈出 CAPTCHA。
這套機制仍持續演進。防護方每次調整判定邏輯,依賴固定參數與固定節奏的腳本就得再重寫一輪;參數補得越多,腳本越臃腫,反而越難維持真實度。期待一套腳本通吃所有網站,這個前提本身就不成立。
為什麼繞過防護不是選項
網路上有許多繞過防護的教學,但這件事的本質不只是技術選擇,也可能構成違反網站條款。服務條款通常會明確禁止規避安全措施與存取限制。技術上做得到,不代表在契約或法律上站得住腳。
代價也很具體。帳號與 IP 被封是最直接的結果;在不少司法管轄區,透過繞過技術措施來取得資料也可能違法。另一方面,以非正常方式取得的資料更難追溯來源與完整性,用在後續決策時風險更大。把技術問題換成合規問題,並不划算。
合規採集的幾條底線
先看 robots 規則與使用條款。robots.txt 會寫明哪些路徑允許抓取,這不只是參考意見,而是網站營運者表達出的意願;使用條款通常還會有更細的資料使用限制。
有官方 API 就優先使用官方 API。資料結構清楚、有文件、有配額說明,也不會因為前端改版就整體失效。配額不夠時,可以降低採集計畫,或透過商務管道申請更高額度,這都比繞過限制更穩妥。
頻率要控制。網站允許抓取,不等於允許把頻寬打滿。增加間隔、限制單位時間內的請求數量、避開網站尖峰時段,這幾件事做到位,多數摩擦根本不會發生。
只採集公開資料,不碰個人資訊。需要登入才能查看的內容不採,網站明確標示禁止抓取的資料也不採。個人資訊受到法律嚴格保護,採集它需要明確的法律依據,以及在適用情況下取得使用者同意。這從來不是單純的技術問題。
確實需要渲染後的內容怎麼辦
有些頁面的內容必須執行 JavaScript 才會出現,單靠 request library 無法取得。這種情況可以用瀏覽器自動化工具開啟頁面、讀取渲染後的 DOM,同時守住幾件事:按照正常節奏存取,不要同時開幾十個 instance 壓向同一個網站;若網站明確禁止自動化存取,就不要用自動化方式造訪。
這裡有一條很容易被混淆的界線。多環境工具的正當用途,是讓多個合法帳號彼此獨立,例如團隊同時登入多個客戶的後台查看資料;而不是偽裝成大量彼此不同的使用者去抓同一個網站。前者是帳號管理,後者是規避網站的存取限制,兩者並不相同。
常見問題
更換 IP 只改動了判定中的一項。請求標頭、頻率、fingerprint 特徵都沒變,很快還是會撞上同一堵牆,而且高頻更換 IP 本身也可能成為異常信號。
API 配額小時,可以依照配額降低採集量,或透過商務管道申請更高額度。這通常不會比繞過限制慢多少,資料來源卻能保持乾淨且可追溯。
公開可見和可以自由使用是兩回事。還要看網站條款、資料的著作權狀態與後續用途;如果涉及個人資訊,更需要格外謹慎。
收尾
採集被攔,代表網站已經判定造訪者不像一般使用者。可行的方向只有兩個:讓存取行為回到正常範圍,或改走官方介面。至於繞過防護,看起來像是省事的路,實際上只是把風險從技術層挪到合規層。

