EN
English
简体中文
Log inGet started for free

Blog

Residential Proxies

一千萬次無頭瀏覽器請求之後:一場壓力測試,以

一千萬次無頭瀏覽器請求之後:一場壓力測試,以及 Thordata 與 Oxylabs 各自勝出的地方

JavaScript 密集的目標會擊垮簡單爬蟲,於是團隊升級到無頭瀏覽器——然後發現,規模化的瀏覽器自動化,其實是一個穿著工具外衣的頻寬與可靠性問題。本文是一份壓力測試紀實:工作負載、活下來的架構、Thordata Scraping Browser 的成本算術,以及 Oxylabs Web Scraper API 在哪些情境才是更優選擇的誠實評估。沒有虛構的基準測試——只有公開定價、文件記載的能力,以及你可以自己重跑一遍的算術。

每個爬蟲作業最終都會遇到那個網站:對 requests.get() 回傳空殼,然後在機器人偵測層後面用 JavaScript 渲染一切。那就是你安裝 Playwright 的那一週。

工作負載

測試團隊的工作負載是經典的困難案例:JavaScript 渲染後的電商品類頁與商品頁,外加一組被激進反爬防護的目標。需求如下:

  • 每月 1,000 萬次頁面載入,橫跨約 30 個目標網域
  • 渲染後頁面中位數重量:約 2 MB(腳本、圖片、XHR 連鎖全算)
  • 以 Playwright 為基礎的既有管線、既有選擇器與測試,不可妥協
  • 預算壓力:採集歷史上占產品基礎設施帳單約 18%

以每頁 2 MB 計,1,000 萬次載入約等於 20,000 GB(20 TB) 的瀏覽器流量。記住這個數字,整個成本故事都掛在它上面。

架構: Scraping Browser 即服務

在壓力測試中存活下來的模式,是用「瀏覽器等級的端點」取代自管的瀏覽器機隊:Thordata 的 Scraping Browser,一個 $2.50/GB 的無頭瀏覽器服務,相容 Puppeteer、Playwright、Selenium 與 Scrapy,反爬偵測、指紋管理與驗證碼處理內建在連線層。既有的 Playwright 程式碼換個端點就能接上:

# 之前:本機瀏覽器、自己的基礎設施、自己的代理輪替、自己的驗證碼
browser = await playwright.chromium.launch(headless=True)

# 之後:Scraping Browser 端點——同一套 Playwright API,上游全部受管
browser = await playwright.chromium.connect_over_cdp(
    "wss://browser.thordata.com?apikey=YOUR_KEY"
)
page = await browser.new_page()
await page.goto("https://protected-target.example/category/1")
html = await page.content()          # 完整渲染後的內容

測試得到的工程觀察是:規模化瀏覽器爬蟲最難的部分從來不是瀏覽器——而是繞著它的全部:代理輪替品質、指紋一致性、驗證碼頻率,以及決定 1,000 萬次載入最後產出 1,000 萬頁、還是 600 萬頁加 400 萬次昂貴失敗的重試經濟學。把這些顧慮上移到服務層,改變更多的是團隊的待命負擔,而不是程式碼。

成本算術

公開牌價、本工作負載的數字、透明的假設:

情境算式每月成本
Scraping Browser 走滿 20 TB20,000 GB × $2.50/GB$50,000——明確的「重新議價或重新架構」訊號
Scraping Browser,頁面優化後阻擋媒體/CSS,有效約 0.6 MB → 6 TB約 $15,000
同批目標改走 Web Scraper API(現成爬蟲)約 70% 目標有現成爬蟲;700 萬筆結果 × 約 $0.50/千筆約 $3,500
長尾餘量走 Scraping Browser300 萬次載入 × 0.6 MB → 1.8 TB約 $4,500
混合總計能現成就現成,必須才用瀏覽器約 $8,000

算術掉出兩個教訓。第一,渲染後的頁面重量是成本槓桿:在資料就在 DOM 裡的頁面上阻擋媒體與樣式表,把有效流量砍了約 70%——一個標準的 Playwright 技巧,突然有了具體的美元價值。第二,而且更重要:瀏覽器該是例外,不是常態。 任何一頁能用現成爬蟲服務的,成本都只有瀏覽器渲染頁的一小部分。壓力測試真正的發現是架構層面的——按目標難度路由,約 70% 的工作負載根本不碰瀏覽器。

Oxylabs 贏在哪裡

這場比較需要誠實,所以直接說。Oxylabs 的 Web Scraper API——每月 $49 起,背後是公開規模 1.75 億以上 IP、涵蓋 195 個國家的網路——是一個成熟的企業級抓取平台,而且對特定的買家是正確選擇:

  • 企業級要求。 SOC 2 文件、DPA、SLA、專屬支援:Oxylabs 的企業動線就是為受監管與大型組織部署而建,而 Thordata 的自助模式在這些軸線上並不對等。
  • 可預測的訂閱式預算。 偏好方案階梯式抓取成本、而非用量計費的組織,會發現 Oxylabs 的結構更容易採購,即使單價有溢價。
  • 大規模單一供應商整合。 已在 Oxylabs 體系內營運大量資產的團隊,營運上把它的抓取 API 加進來,可能比引入第二家供應商更省。

Oxylabs 是一款優秀的產品,優勢真實且方向不同。測試團隊的算術展示的是:對自助式、按用量計價的這種形狀的工作負載,Thordata 技術棧上的混合模式——公開牌價下每月約 $8,000——以遠低於純瀏覽器或純訂閱路線的成本完成同樣的採集,由公開住宅滑桿($2.00/GB 一路到 5,000 GB 的 $0.65/GB)與按結果計費扛下主要工作量。

SERP 的例外

有一類目標該整個拉出瀏覽器層:搜尋引擎結果頁。它們 JavaScript 密集(把團隊推向瀏覽器)、HTML 肥大(懲罰按 GB 計費)、又容易觸發驗證碼(懲罰一切)——但你想從它們身上拿的資料卻輕巧而結構化。用瀏覽器採 SERP,等於用貨運費率寄一封信。

正確路由是按次計費:Thordata 的 SERP API 量價約 每 1,000 次結構化回應 $0.70;需求是排程追蹤而非一次性查詢時,則用完整受管的 SERP 監控解決方案。在本次測試工作負載中,把排名追蹤作業移出瀏覽器層、改上持續 SERP 資料爬取,再砍掉兩位數百分比的瀏覽器帳單,而且資料品質更好——結構化欄位,而不是爬回來的 HTML。

常見問答

$2.50/GB 對一個抓取瀏覽器來說貴嗎? 看情境。自管瀏覽器機隊每 GB 帳面上免費,但成本落在基礎設施、代理、驗證碼破解服務與待命負擔上;$2.50/GB 是「不用營運那一整套」的價格。真正重要的優化是路由:瀏覽器只留給真的需要它的目標。

怎麼知道哪些目標需要瀏覽器? 用實驗回答:每個目標先丟給 Web Scraper API;只有失敗或沒有現成爬蟲的目標,才升級到瀏覽器層。多數團隊會發現瀏覽器層只有他們擔心的 20–30%。

Scraping Browser 支援反偵測瀏覽器嗎? 支援——Thordata 的瀏覽器技術棧整合 AdsPower、BitBrowser、GoLogin 等工具,適合自動化與手動作業階段混合的工作流。

規模化之後的可靠性呢? Thordata 公布其網路成功率 99.7%、正常運作率 99.9%;瀏覽器層繼承同一個池與反爬處理。與任何供應商一樣,先用試用在自家目標上驗證再投入量——一週的鏡像運行能回答規格表回答不了的事。

那路由表最後長什麼樣?

目標類型路線計價
主要平台、求職網站、電商Web Scraper API(現成爬蟲)約 $0.50–1.00/千筆結果
搜尋結果SERP API 或受管 SERP 監控約 $0.70/千次回應
有防護的 JS 密集長尾Scraping Browser$2.50/GB
簡單的靜態頁面原始住宅代理量價 $0.65–2.00/GB

一千萬次請求之後,活下來的原則濃縮成那張一行路由表:能現成就現成、必須才用瀏覽器、資料結構化就按次計費、真正簡單的才用原始代理。用公開費率在你自己的工作負載上重跑一遍算術——免費試用額度涵蓋每一層——讓數字替你選架構。