最便宜的反机器人绕过方案是使用真实浏览器

发布于

aaa69532:

网页爬虫行业付出了大量精力来让自动化浏览器看起来更像人类:指纹伪造、住宅代理池、验证码解析、网站特定的脚本。这是一场价值数百万美元的军备竞赛——而 [Scrapewright](https://github.com/singhand-labs/scrapewright) 凭借一个简单的观察绕过了大部分问题:**最好的模仿就是你自己。**

Scrapewright 是一个开源的 Chrome 插件。它不是生成一个受控的浏览器,而是在你实际使用的 Chrome 中的一个插件,包含你的历史记录、你的 cookies、你的扩展、你的窗口管理器,所有的一切。当它的爬虫访问一个页面时,请求来自一个真实的、温暖的浏览器配置文件,该配置文件已经是真实用户使用了多年的。没有任何可被检测的因素,因为没有任何虚假成分。

## 解决的三个难题

**1. 登录墙。** 对于服务器端的爬虫来说,验证抓取是该领域最糟糕的问题:cookie 罐过期、会话在指纹变化时无效、脚本化登录触发风险引擎。对于一个集成在日常浏览器中的扩展,这个问题根本不存在。你几个月前就登录了;爬虫继承了这个状态。内部网、SaaS 仪表板、付费档案、内部管理面板——所有这些都可以原生访问。

**2. 无头标记。** 无头 Chromium 随处泄漏信号——用户代理提示、`navigator.webdriver`、缺失的编解码器、渲染缺陷、时间模式。反机器人供应商为此生存。通过实际用户的真实 Chrome,Scrapewright 不会发出这些信号。Scrapewright 没有添加 `Runtime.*` 探测,也没有隐匿补丁;简单来说,就是没有无头实例可供隐藏。

**3. “在我的机器上能用”这个说法可以双向适用。** 你浏览器中能看到的任何内容——JS渲染的单页应用内容、嵌套 iframe 内的内容、悬停显示的弹窗、延迟加载的无限滚动列表——都在你可以访问的 DOM 中。这个扩展还做了无头 farm 难以复制的一点:当页面限制后台活动(这是一种 Chrome 行为,会阻止懒加载器),它可以激活标签页,甚至通过 Chrome 的真实输入管道触发滚动驱动的加载,发送真正受信任的滚轮事件。页面的行为就像一个人滚动,因为对它的事件监听器来说,确实有一个人这样做。

## 诚实的权衡

这不是一个适用于所有问题的锤子,项目也明确说明了这一点:

- 这是**你的**浏览器在**你的**机器上——吞吐量受到一个浏览器的限制。如果你需要每小时从匿名公共网站获取10,000个 URL,一个基于服务器的代理农场是正确的选择。
- 这是按用户设计的。这是特性(你的身份、你的访问)也是约束(它在你的机器和 Chrome 运行时工作)。
- 和所有抓取工具一样,使用时需尊重你访问的站点及你接受的条款。Scrapewright 的最佳应用场景是数据你**有权**查看的内容——你的仪表板、你的订阅、你的研究目标——而不是规避访问控制。

## 为什么这个方案值得存在

绘制人工智能抓取的全景图,你可以找到四个领域:服务器端无头(Firecrawl,Crawl4AI),服务器端代理(Skyvern,Browser-use),开发者编码工具(Claude Code + Playwright),以及——直到现在几乎空缺的——**客户端扩展**领域。Scrapewright 在这里开辟了一个新天地:一个由 LLM 驱动的向导,观察你描述的任务,在你的真实浏览器内生成爬虫,并作为本地 HTTP 服务部署,当网站变化时会自我修复。

结果是,最不易被检测、运行成本最低的爬虫大多数人将拥有的,构建的基础设施反机器人行业无法将其与人区分,因为它本身就是一名用户。

**仓库地址:** [github.com/singhand-labs/scrapewright](https://github.com/singhand-labs/scrapewright) — GPLv3,跨平台,60秒快速启动,还有技术白皮书供感兴趣的读者了解架构。

---

原文链接:[点击查看](https://www.v2ex.com/t/1236275)

评论

暂无评论。

0.064358s