Botright
基于Playwright的AI反检测浏览器框架,内置指纹伪装和免费验证码破解
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于Playwright的AI反检测浏览器框架,内置指纹伪装和免费验证码破解
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
在数据采集、价格监控、账号管理等场景中,网站反爬机制越来越严格。传统 Selenium/Playwright 驱动的浏览器会被识别为机器人——网站通过检测 Canvas 指纹、WebGL 渲染特征、UA 版本、时区、语言等数百个维度,给你的访问打上"可疑"甚至"封禁"的标签。
Botright 正是为解决这一痛点而生:它让自动化浏览器"长"得像真实用户,同时内置 AI 验证码求解能力,无需付费第三方 API。
Botright 是一个构建在 Playwright 之上的高级浏览器自动化框架,诞生于 2022 年 9 月,由独立开发者 Vinyzu 主导维护,目前拥有 996 Stars 和 82 Forks。它的核心定位是:最先进 undetected(反检测)、fingerprint-changing(指纹变更)、captcha-solving(验证码求解)自动化框架。
项目的 slogan 说得清楚:Build on Playwright, as easy to use as it is to extend. 即插即用,API 与 Playwright 高度兼容,现有 Playwright 代码只需修改初始化语句即可切换到 Botright。
Botright 通过 chrome-fingerprints 库生成伪造但逻辑自洽的浏览器指纹,覆盖以下维度:
开发者实测在 SannySoft、Incolumitas(0.8-1.0分)、BrowserScan、Fingerprint.com 等主流检测平台均表现优秀,reCaptcha v3 得分可达 0.9(接近满分)。
v0.3 起,Botright 采用真实本地 Chromium(推荐 Ungoogled Chromium)而非无头模式启动,从根本上规避无头浏览器特征检测。结合 undetected-playwright-patch,进一步消除已知反爬检测规则。
这是 Botright 最有价值的功能之一——免费、不依赖第三方 API 的验证码求解能力:
| 验证码类型 | 成功率 | 求解方式 |
|---|---|---|
| hCaptcha | ~90% | hcaptcha-challenger(AI) |
| reCaptcha v2 | 50-80% | reCognizer(AI 视觉) |
| GeeTest v3 滑块 | 100% | cv2.matchTemplate 图像匹配 |
| GeeTest v3 图形选图 | 50% | CLIP 模型检测 |
| GeeTest v4 滑块 | 100% | cv2.matchTemplate |
| GeeTest v4 九宫格 | 100% | 数学计算 |
| GeeTest v4 IconCrush | 100% | 数学计算 |
Botright 采用异步架构设计,代码组织清晰:
botright/
├── botright.py # 核心客户端,继承 AsyncObject
├── modules/
│ ├── faker.py # 指纹 + 地区数据生成
│ ├── geetest.py # GeeTest 求解核心逻辑
│ ├── geetest_helpers.py # GeeTest 辅助函数(18KB)
│ ├── hcaptcha.py # hCaptcha 求解
│ └── proxy_manager.py # 代理管理器
└── playwright_mock/ # Playwright 对象 mock,劫持关键 API
├── browser.py # 浏览器上下文伪造
├── page.py # 页面对象(34KB,最大模块)
├── frame.py # iframe 嵌套处理
└── locator.py # 元素定位器
核心依赖:
playwright >= 1.40:浏览器驱动基础undetected-playwright-patch:反检测 patchchrome-fingerprints:指纹生成hcaptcha_challenger:hCaptcha AI 求解recognizer:reCaptcha AI 求解pybrowsers:浏览器安装管理httpx:异步 HTTP 客户端numpy:数值计算async_class:异步单例/生命周期管理loguru:彩色控制台日志开发规范: 代码质量工具链完整——mypy 严格类型检查、black 格式化、isort 导入排序、flake8 lint、pytest 测试,体现良好的工程素养。
import asyncio
import botright
async def main():
client = await botright.Botright()
browser = await client.new_browser()
page = await browser.new_page()
await page.goto('https://example.com')
# 你的自动化逻辑
await client.close()
asyncio.run(main())
优势:
局限:
Botright 代表了浏览器自动化领域的"合法灰产"方向——其核心技术(指纹伪造、验证码求解)既可用于正当地数据采集、自动化测试,也可能被用于抢票、薅羊毛等灰色场景。项目采用 GPL-3.0 许可证,商业使用需开源修改。
它与 undetected-stealth-driver(Selenium)、puppeteer-extra-plugin-stealth(Node.js)等项目共同构成了"让机器人更像人"的技术生态。2024 年后,随着 AI 验证码(reCaptcha Enterprise、hCaptcha Adaptive)增多,纯规则检测逐渐被行为分析取代,这类工具的检测绕过能力会面临更大挑战。