比 Playwright 还强,这个开源反爬神器有点猛…
搞爬虫或者写浏览器自动化脚本,总会被各种反爬验证折磨。
脚本跑到一半,就被 Cloudflare 验证拦下。
还有谷歌的 reCAPTCHA,会给我们的行为打分,爬虫脚本的分数通常比较低,直接被判定为机器人。
直到最近,我发现了一个狂揽 19000+ Star 的开源项目 CloakBrowser,同样是 Chromium,但能轻松通过各种反爬检测。

先简单理解一下,在我们的浏览器里有个内部属性,当是自动化脚本在操作时这值会变成 true。
各大浏览器内置的反爬系统,也就是根据这个属性来判断是否是机器人在操作。
CloakBrowser 的做法很直接,在 Chromium 源代码的 C++ 层就把这个值写成了 false,再编译成二进制。
类似的改动一共做了 58 处,包括画布、显卡、音频、字体、屏幕参数、网络时序等几乎所有可被反爬识别的指纹点。
反爬系统看到的是一个正常浏览器,因为它本身就是一个正常浏览器,只是底层数据被改了。

不仅如此,光过浏览器指纹还不够,行为特征也是反爬的重要判定维度。
简单说,机器操作鼠标是直线瞬移,人类操作鼠标会有抖动和减速。反爬系统也会盯着这些细节。
为此,CloakBrowser 提供了一个 humanize 开关,开启后所有鼠标移动、键盘输入、页面滚动都会被替换为拟人化版本。
鼠标走曲线带轻微过冲,键盘按字符输入并加入思考停顿,滚动也遵循加速到匀速再到减速的真实节奏。

到这里就把所有反爬手段铺好了,再来看实测数据,效果非常猛。
谷歌 reCAPTCHA 分数拿到 0.9,达到人类水平,是经过服务端验证的真实分数。
要知道,同样的代码用原版 Playwright 跑,分数只有 0.1,直接被判为机器人。
除此之外,Cloudflare 的人机验证挑战也能直接通过,业内主流的爬虫识别 Demo 同样能正常返回数据。
跟原版 Playwright 对比,那些反爬最爱嗅探的暴露点全部被抹平。

CloakBrowser 的安装也是非常简单的,Python 环境一行命令搞定。
pip install cloakbrowser
也支持 JavaScript 环境,可用 npm 进行安装。
# 搭配 Playwright 使用
npm install cloakbrowser playwright-core
# 搭配 Puppeteer 使用
npm install cloakbrowser puppeteer-core
首次运行时会自动下载约 200MB 的浏览器二进制文件并缓存到本地,之后就不用管了。
支持 Linux、macOS、Windows 系统,在安装过程会自动识别下载对应的版本。
更香的是,还兼容 browser-use、Crawl4AI、LangChain 等主流的 Agent 框架。
还提供各大 Agent 接入 CloakBrowser 的示例代码,轻松让我们的 Agent 具备反检测能力。

写在最后
在我看来,CloakBrowser 的意义远不止「让写爬虫的人少踩坑」这些。
现在 AI Agent 都在抢着落地,而真正能让它干活的入口,就是浏览器。
比如让 AI 帮我们订机票、自动化测试、爬数据喂模型,每一步都要经过浏览器。
但现在绝大数浏览器都,都会把 AI 当成机器人拦在门外。
而 CloakBrowser 的出现,正在补上这块拼图,让 AI 自动化的落地变得更顺畅。
可预见,未来还会有更专为 Agent 打造的浏览器出现。
GitHub 项目地址:https://github.com/CloakHQ/CloakBrowser
今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!