Python技术迷

Obscura:这个 Rust 无头浏览器,想把 Chrome 从爬虫机器里挤出去

我第一眼被 Obscura 戳到的点,不是“AI Agent 专用”。

是那个内存数字。

平时跑爬虫、网页自动化,最烦的就是无头 Chrome 一开多了,机器风扇先开始上班。一个实例两三百兆不稀奇,并发一拉,成本马上变得很肉疼。

Obscura 直接把目标写得很直白:给网页抓取和 AI Agent 自动化用的无头浏览器引擎,Rust 写的,跑 V8,支持 Chrome DevTools Protocol。项目页还说,它可以接 Puppeteer 和 Playwright,当成 headless Chrome 的替代品来连。

Image

它现在在 GitHub 上已经有 9.1k star,最新 release 是 2026 年 4 月 25 日的 v0.1.1。这个热度来得不算奇怪,痛点太具体了。

README 里给的对比也很狠:Obscura 单实例内存 30MB,二进制 70MB;headless Chrome 那边写的是 200MB+ 内存、300MB+ 体积。页面加载,Obscura 标 85ms,Chrome 约 500ms。

当然,这种 benchmark 不能当万能结论。

但它至少说明一件事:Obscura 不是想做一个完整桌面浏览器,而是把自动化场景里最常用的那条链路拎出来,尽量做轻。

用法也偏工程师友好。

单文件部署,不要求本机装 Chrome,也不依赖 Node.js。直接 fetch 一个页面,取 title、dump links、渲染动态 HTML,都能从命令行跑。想并发抓多个 URL,也有 scrape 命令,支持 concurrency,结果可以按 JSON 输出。

对老项目来说,比较舒服的是兼容层。

你原来用 Puppeteer 或 Playwright,不一定要重写整套逻辑。Obscura 起一个 CDP server,Playwright 走 connectOverCDP,Puppeteer 走 WebSocket 端点连上去。

这就不是“换一个新框架从头学”。

更像是把底下那台 Chrome 换掉。

Image

它还带 stealth mode,包括指纹随机化、tracker blocking,项目页写了会屏蔽 3520 个域名。这里我会稍微保守一点看:做正常自动化和测试当然省事,但爬公开网站还是得看 robots、频率和站点规则,别把工具当通行证。

Obscura 目前最适合的场景,大概是批量页面抓取、AI Agent 网页浏览、轻量自动化任务。

如果你只是偶尔截个图、跑几个测试,Chrome 仍然够用。

但如果你一天要起几百上千个浏览器实例,或者机器资源本来就紧,这种 30MB 级别的无头浏览器,确实值得单独拉出来试一轮。

GitHub 地址:h4ckf0r0day/obscura。