比 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