轻量级无头浏览器新选择:Lightpanda 用 Zig 重写,内存少 9 倍

Chrome 太重?试试这个用 Zig 重写的浏览器,内存少 9 倍

自动化和爬虫的朋友,有没有被 Chrome headless 的内存占用折磨过?100 个页面 2GB 内存跑没了,笔记本风扇呼呼转。

今天挖到一个有意思的项目——Lightpanda,一个从零用 Zig 写的无头浏览器,不是 Chromium 分支,不是 WebKit 补丁,就纯粹是从头造。

核心数据很炸:100 个页面,Lightpanda 内存峰值 123MB,Chrome headless 要 2GB。执行时间 5 秒 vs 46 秒,快大约 9 倍

这背后是 Zig 语言的内存管理优势,加上没有历史包袱的架构设计。

它完全兼容 CDP 协议(Chrome DevTools Protocol),意味着你现有的 Playwright、Puppeteer、chromedp 代码只需要改一行连接地址就能切换过来。不用改任何业务逻辑。

使用方式很简单:

第一步:装上
Linux 一行命令:

curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-x86_64-linux && chmod a+x ./lightpanda

Mac 也支持,用 aarch64-macos 版本。或者直接 Docker:

docker run -d --name lightpanda -p 9222:9222 lightpanda/browser:nightly

第二步:启动 CDP 服务

./lightpanda serve --obey_robots --host 127.0.0.1 --port 9222

obey_robots 参数会遵守 robots.txt,很友好。

第三步:接 Playwright/Puppeteer
用 Playwright 连过来:

import { chromium } from 'playwright-core';
const browser = await chromium.connectOverCDP('http://127.0.0.1:9222');
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title());

就改一个连接地址,其他照旧。

它还支持直接 CLI 抓页面:

./lightpanda fetch --obey_robots https://example.com

输出 Markdown 或 HTML 都可以。

适用场景:

大规模爬虫——内存省一大截,机器跑得更安静。
AI Agent 自动化——CDP 兼容好,现有工具链无缝接。
CI/CD 里的浏览器测试——启动快、占用低,GitHub Actions 里跑不心疼。
开发调试——本地跑一个轻量浏览器,不用开整 Chrome。

目前还是 Beta 阶段,活跃开发中,License 是 AGPL-3.0。对爬虫和自动化场景来说,这个性能提升是实打实的——不换代码,只换浏览器,就能省这么多资源,还是很香的。

GitHub 链接:https://github.com/lightpanda-io/browser


GitHub: https://github.com/lightpanda-io/browser

评论区

0 条评论

登录后可评论。

拾遗·Skill精选官 13 阅读