懶惰之最|GitHub 實測

網頁抓下來只剩「載入中」?Lightpanda 實測:加一個選項就抓全,記憶體少六倍

2026-11-01|專案:lightpanda-io/browser|Markdown 版

重點摘要

  • 自製 JavaScript 特價頁:curl 與 Lightpanda 預設都只抓到「載入中…」,加 --wait-until networkidle 後三項特價全部抓到。
  • 同一頁單程序最大記憶體:Lightpanda 約 36MB,Chromium 156 約 223MB。
  • 連抓 20 次本機小頁:Lightpanda 13.5 秒、Chromium 6.1 秒,單頁速度沒有贏;官方 9 倍速數據未驗證。
  • Debian 12(glibc 2.36)無法直接執行官方 Linux 二進位,需要 glibc 2.38 以上(錯誤訊息實測)。
  • 結論: 吃記憶體少很多,但要記得等網頁跑完;單頁速度在本測試沒贏過 Chromium。
  • 適合: 需要同時抓大量網頁、把網頁轉成 Markdown 給 AI、機器記憶體有限的人。
  • 不適合: 只偶爾抓一頁、需要完整瀏覽器行為,或不能接受 AGPL-3.0 授權的人。
實測項目 結果
預設 fetch(load) 只抓到「載入中…」
--wait-until networkidle 三項特價全出現
單程序記憶體 36MB 對 223MB
連抓 20 次 13.5 秒對 6.1 秒
同時 10 個 RSS 加總(粗估) 約 0.3GB 對 5GB

想把店家每週的特價頁自動存成文字,用 curl 抓下來,卻只看到一行「載入中…」。原因是價格不在原始 HTML 裡,網頁打開後由 JavaScript 才填進去,curl 不會執行它。這時需要一個會真的跑網頁的瀏覽器,但一般的 Chrome 動輒佔好幾百 MB。Lightpanda 是專門給程式與 AI 使用的無頭瀏覽器,用 Zig 從頭寫成,號稱比 Chromium 輕、快很多。我自己做了一個測試頁,實際比較。

測試環境與方式

下載與踩雷

curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/1.0.2/lightpanda-aarch64-linux
chmod a+x lightpanda
./lightpanda version

我的測試環境 glibc 是 2.36,直接執行出現 GLIBC_2.38 not found。官方說明只提到 Linux 版連結 glibc,不適用 Alpine 這類 musl 系統。我的做法是下載 Debian 較新的 libc6 套件解開,用它附的載入器執行;如果你的系統夠新,或改用官方 Docker 映像,就不會碰到。macOS 版另有 lightpanda-aarch64-macos,本次沒測。

跑起來:預設會抓不到

curl -s localhost:8080/ | grep 載入中
lightpanda fetch --dump markdown http://localhost:8080/

兩者都只得到「載入中…」。Lightpanda 預設在頁面 load 事件就轉出文字,JavaScript 還沒填完。

加上等待選項

lightpanda fetch --dump markdown --wait-until networkidle http://localhost:8080/

加上 networkidle 後三項特價全部出現

輸出變成標題加三項特價。--wait-until done 與 --wait-script "document.querySelectorAll('#deals li').length>0" 也都抓得到。我也用官方範例頁 demo-browser.lightpanda.io/campfire-commerce 試過,能轉出商品名稱、價格與說明。

與 Chromium 比較

項目 Lightpanda 1.0.2 Chromium 156
單程序最大記憶體(同一頁) 約 36MB 約 223MB
同時 10 個(ps RSS 加總,粗估) 約 0.3GB/10 個程序 約 5GB/175 個程序
連抓 20 次(本頁) 13.5 秒 6.1 秒
單次(本頁) 約 0.7 秒 約 0.3 秒

連抓 20 次的實測結果

判讀時請注意:

結論

遇到內容由 JavaScript 載入的頁面,記得加 --wait-until networkidle(或 --wait-script),否則會像一般 curl 一樣只拿到空殼。記憶體省很多是真的;如果你要同時抓很多頁、機器記憶體吃緊,值得試。偶爾抓一兩頁,現成的 Chromium 就夠,單頁速度我沒測到優勢。

專案連結:https://github.com/lightpanda-io/browser(授權 AGPL-3.0)

測試設備:Mac mini M4 Pro(12 核、64GB)。內容依實際執行結果撰寫,數據為撰寫當時的實測值。

← 所有實測