UStackUStack
Browserless icon

Browserless

Browserless 通过 BrowserQL 提供浏览器自动化服务,借助 API 与 Puppeteer/Playwright 连接,并可生成 PDF 和截图。

Browserless

什么是 Browserless?

Browserless 提供浏览器自动化 API 和浏览器基础设施,帮助团队抓取网站并运行自动化浏览器工作流。它专注于通过 BrowserQL 方法绕过 CAPTCHA 和机器人检测器来提升自动化可靠性,并提供托管或私有部署选项。

用户无需本地运行所有内容,只需将现有自动化代码(如 Puppeteer 或 Playwright)连接到 Browserless 端点,即可渲染 PDF 和截图等输出,并保持会话存活以减少重复机器人检查。

主要特性

  • BrowserQL 用于机器人和 CAPTCHA 挑战:Browserless 将 BrowserQL 描述为一种自动化方法,可避免可检测指纹、点击验证控件(包括 iframe 或 shadow DOM 内的情况),并自动解决 CAPTCHA。
  • 自动化框架的 WebSocket 端点:BrowserQL 完成后,Browserless 提供 WebSocket 端点,专为 Puppeteer 或 Playwright 设计,使用连接流程而非启动本地浏览器进程。
  • 会话持久化减少重复检查:浏览器可保持存活,让自动化继续进行,而无需重新触发机器人检查并使用更少代理。
  • 托管浏览器即服务 (BaaS):Browserless 提供托管浏览器池,负载均衡和流量激增时的扩展由其处理。
  • 常见输出的 REST API:使用 REST API 执行生成 PDF 和截取 截图 等任务,支持自定义样式。
  • 抓取 IDE 用于测试和调试:带实时浏览器视图的抓取 IDE,支持开发脚本和排查行为问题。
  • 可观测性和工作进程健康监控:指标和监控涵盖成功/错误、超时、队列时间和会话时长;企业客户还可监控专用工作进程的 CPU 和内存使用。
  • 企业自托管或私有部署选项:网站提及企业级自托管或私有部署选项,适用于需要控制环境的团队。

如何使用 Browserless

  1. 注册 并获取 Browserless 访问权限。
  2. 连接您的自动化代码,使用提供的 WebSocket 端点与 Puppeteer 或 Playwright 工作流连接(网站描述将 puppeteer.launch() 替换为 puppeteer.connect() 并使用 browserWSEndpoint)。
  3. 运行导航和自动化步骤,如脚本中通常那样。Browserless 的 BrowserQL 方法被定位为帮助绕过机器人检测器和 CAPTCHA 的自动化工作流层。
  4. 按需通过 API 生成输出,使用 Browserless REST 端点生成 PDF 和截图。
  5. 监控和调试,使用抓取 IDE 和所述指标/工作进程健康工具。

使用场景

  • 抓取受机器人检测器保护的网站:当自动化浏览被阻挡时使用 Browserless,特别是验证元素可能出现在 iframe 或 shadow DOM 中。
  • 必须处理 CAPTCHA 页面的自动化:运行需要 CAPTCHA 解决的浏览器工作流,依赖 Browserless 的自动解决能力处理强制谜题页面。
  • 基于浏览器的文档捕获:使用 Browserless REST API 从浏览器自动化生成 PDF 和截图,支持自定义样式。
  • 扩展自动化基础设施无需管理浏览器版本:将浏览器管理卸载到 Browserless 的托管浏览器池,无需处理版本更新或损坏库。
  • 长时间运行或会话敏感任务:使用会话持久化保持浏览器存活,避免重复机器人检查并减少代理更换。

常见问题

Browserless 会替换我的 Puppeteer 或 Playwright 代码吗?

Browserless 设计用于通过 WebSocket 端点连接现有的 Puppeteer/Playwright 工作流。网站示例显示浏览器连接方式有所变化(例如 puppeteer.connect()),而非从头重写自动化逻辑。

Browserless 能处理 iframe 或 shadow DOM 中的验证元素吗?

Browserless 表示其自动化功能即使验证按钮隐藏在 iframe 或 shadow DOM 中也能点击。

我能生成哪些类型的输出?

网站提到通过 REST API 生成 PDF截图,并提及从 URL 获取截图。

Browserless 如何帮助扩展自动化工作负载?

它描述了一个管理数千浏览器实例的池,支持流量激增时的扩展和负载均衡。

是否有开发和调试脚本的环境?

Browserless 包含 Scraping IDE,提供实时浏览器视图、监控/指标以及调试器,用于观察脚本并捕获错误。

替代方案

  • 自托管浏览器自动化,带隐身/反爬虫技术:团队可在本地运行 Puppeteer/Playwright 并应用规避方法,但需自行管理浏览器更新、稳定性和基础设施扩展。
  • 类似 Browserless 的“浏览器自动化即服务”竞争对手(托管自动化 API):寻找其他提供远程浏览器控制和/或爬取端点的服务商;比较它们处理 CAPTCHA/爬虫挑战的方式,以及是否通过 WebSocket 或 HTTP API 集成。
  • 专用爬取平台:专注于爬取的平台可能提供更高级工作流,但对完整浏览器控制、会话持久化和自定义脚本的支持可能不同。
  • 测试/自动化网格(SaaS 或自托管):提供浏览器执行网格的工具有助于并行化,但其定位可能不同于使用 BrowserQL 明确绕过 CAPTCHA 和爬虫检测。
Browserless | UStack