Obscura:不装Chrome

24次阅读
没有评论
Obscura 免费下载|不装Chrome
获取下载链
微信关注「软件教程管家」公众号,回复 Obscura (提取码 qjku)
官方渠道:GitHub 仓库

30秒速读:跑批量自动化时,开销往往不在爬虫逻辑本身,而在浏览器:每个 Chrome 实例吃掉数百 MB 内存、冷启动动辄几秒,跑上千个会话时账单与失败率一起往上走。Obscura 是一个用 Rust 编写的开源 无头浏览器引擎:自带渲染、不依赖 Chromium、不需要 Node.js 运行时,一个二进制文件就能跑,Puppeteer 与 Playwright 脚本改一行连接地址即可复用。

Obscura 无头浏览器引擎示意图

Obscura 软件信息表

软件名称 Obscura
软件类型 Rust 编写的开源无头浏览器引擎(Apache-2.0 协议,据源稿介绍)
运行依赖 无需 Chrome、无需 Node.js 运行时;Linux 发布版针对 Ubuntu 22.04 构建,需要 glibc 2.35 及以上
源码构建前置 Rust 1.75 及以上;首次构建约 5 分钟(V8 需从源码编译,之后有缓存);stealth 构建还需 CMake、Clang 与 libclang/LLVM 开发库
兼容接口 Chrome DevTools Protocol;Puppeteer 与 Playwright 通过 puppeteer-core 或 playwright-core 连接;内置 MCP 服务器,支持 stdio 与 HTTP 传输
长期部署 Docker 镜像基于 distroless/cc 多阶段构建,不含 shell 与包管理器,压缩后约 57MB,据源稿介绍

无头浏览器省在哪:内存、体积、启动三处一起降

据源稿介绍的官方对比数据:内存占用约 30MB,对无头 Chrome 的 200MB 以上;二进制体积约 70MB,对 300MB 以上;页面加载约 85 毫秒,对约 500 毫秒;启动即时,对约 2 秒。分场景基准同样拉开差距:静态 HTML 约 51 毫秒、含 XHR 与 fetch 的 JavaScript 页面约 84 毫秒、动态脚本页面约 78 毫秒,而对应场景下 Chrome 约为 500、800 与 700 毫秒。这些数字来自源稿转述的官方数据,实际表现请以自己的目标页面实测为准;它的渲染引擎仍在演进,长尾 CSS 与媒体播放等场景可能与 Chromium 不一致,正式切换前务必先做一轮页面比对。

版本选择:4 种构建后缀怎么选

构建后缀 渲染 Stealth 适合场景
无后缀 支持 不支持 常规渲染、截图、录屏与 PDF 导出
-stealth 支持 支持 需要指纹一致性与传输能力的自动化测试场景
-no-render 不支持 不支持 只取原始响应体、不需要渲染的轻量抓取
-no-render-stealth 不支持 支持 不需要渲染、但需要指纹能力的场景

明确推荐:先用无后缀构建跑通,再按需换 stealth。常规截图与页面取值不需要指纹能力;只有确实要在自动化测试里保持指纹一致时,才值得为 stealth 构建多付一份编译与配置成本。

安装步骤

  1. 从本页文末引导句获取网盘链接,下载对应平台的发布包。
  2. Windows 用户下载 .zip 手动解压;发布包内含 obscura 与 obscura-worker 两个文件,需放在同一目录,并行 scrape 命令依赖后者,缺一个都会导致并行任务起不来。
  3. 需要长期驻留时走 Docker 部署,镜像压缩后约 57MB,不含 shell 与包管理器,适合容器环境。
  4. 先用单页抓取验证:用 fetch 取一个自己有权访问的测试页,确认截图、文本与 Markdown 输出都正常,再接批量任务。
  5. 已有 Puppeteer 或 Playwright 脚本的团队:通过 puppeteer-core 或 playwright-core 改一行连接地址即可复用既有脚本,不用重写整套操作逻辑。

常用参数与调优

  1. 等页面稳定再取值:入口为 fetch 与 scrape 的等待参数;动态 SPA 页面建议用 –wait-until networkidle0,等网络空闲后再取值,避免取到半成品 DOM。
  2. 给慢页面设上限:入口为导航超时参数;慢速或异常页面建议用 –timeout 10 限制导航时间,单位为秒,防止个别页面拖垮整批任务。
  3. 取原始响应体:入口为 –dump original;图片或二进制资源场景下可绕过 JavaScript 与 DOM 层,流式输出原始响应体;超过 2MiB 缓存上限的响应体不会保留,需用流式接口读取。
  4. 脚本预算调优:入口为环境变量 OBSCURA_SCRIPT_DEADLINE_MS 与 OBSCURA_MODULE_BUDGET_MS;据源稿介绍,页面脚本执行阶段默认预算为 30 秒、非关键模块单模块预算为 3 秒,重型 SPA 在慢网络下启动较慢时可适当调高,Vite HMR 客户端这类长驻模块则调高模块预算。

合规边界与常见问题

  • 合规边界先说清:指纹与跟踪器屏蔽能力只应用于自己有权访问、测试或抓取的站点,并遵守目标站点的 robots.txt 与服务条款及所在地法律法规;不得用指纹伪装能力绕过未授权站点的防护,这类风险由使用者自行承担。
  • robots.txt 怎么遵守:入口为 obscura serve 的 –obey-robots 标志;据源稿介绍该标志默认关闭,需要遵循 robots.txt 时请显式开启,不要默认以为它已开启。
  • 内网访问为什么被拦?这是默认防护:服务默认阻止对私有与内网 IP 的访问以防 SSRF;指向本地开发服务器时,需显式传入 –allow-private-network 或设置对应环境变量,且仅对自己的开发环境这样做。
  • 渲染与 Chromium 不一致怎么办?先定位差异场景:长尾 CSS 与媒体播放是已知演进中的短板;正式切换前用自己的目标页面做一轮比对,差异大的页面先留在 Chromium 侧,不要整批硬切。

适合谁,不适合谁

适合:想摆脱 Chromium 依赖、压低部署包体积与常驻内存的团队,已有 Puppeteer 或 Playwright 脚本想低成本迁移的团队,以及需要在容器里跑大批量自动化任务的开发者。不适合:重度依赖 Chromium 长尾渲染特性、且不愿做页面比对的人,以及想用指纹能力绕过站点防护做未授权抓取的人——后一种用途不在本篇推荐范围内。

获取下载链接:微信关注公众号「软件教程管家」,回复【Obscura】自动获取网盘链接

推广Obscura 免费下载|不装Chrome

关注「软件教程管家」

回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。

版权与使用提示

本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›

上次编辑至今:13小时 · 内容还比较新鲜

公告

契机库网站正式上线!

了解更多
正文完
 0
评论(没有评论)