Made-with: Cursor
audiencescf
使用 Nodriver 自动通过 Cloudflare Turnstile 验证,访问受保护的目标页面。通过页面上的「给我搜」按钮(#search_btn)判断是否已通过验证。
功能
- 定时检查:每 30 分钟执行一次检查,程序持续运行(间隔可在
main.py中修改INTERVAL_MINUTES) - 启动时从项目根目录
cookies.txt加载 Cookie(支持 Netscape 与 nodriver 原生格式) - 进入目标页后根据
#search_btn的 value 是否为「给我搜」判断是否需要验证 - 需要验证时:等待 CF 自动通过 + 使用模板匹配点击 Turnstile 复选框(依赖
box.png) - 验证后等待 10 秒再次检查;若仍未变为「给我搜」则刷新页面并重新走验证流程,直到通过后关闭本次浏览器,等待下一轮定时
环境
- Python 3.x
- 依赖:
nodriver;点击 Turnstile 时需opencv-python(模板匹配)
pip install -r requirements.txt
pip install opencv-python
使用
- 在
main.py中确认TARGET_URL为目标页面地址。 - (可选)在项目根目录放置
cookies.txt:- Netscape 格式:首行为
# Netscape或# HTTP Cookie File - 或使用 nodriver 原生导出的格式
- Netscape 格式:首行为
- 若使用 Turnstile 点击,确保根目录有模板图
box.png(与当前页面复选框区域匹配)。 - 运行:
python main.py
程序会每 30 分钟打开浏览器执行一次检查,通过后关闭浏览器并等待下一轮。默认以有界面浏览器运行,便于通过验证。退出请手动中断(如 Ctrl+C)。
文件说明
| 文件 | 说明 |
|---|---|
main.py |
主流程:每 30 分钟执行一次检查(加载 Cookie、打开页面、判断验证、点击 Turnstile、循环重试直至通过) |
cookies_loader.py |
读取并注入 cookies.txt(Netscape / 原生格式) |
box.png |
Turnstile 复选框模板图,用于截图匹配点击 |
cookies.txt |
本地 Cookie 文件(已加入 .gitignore,勿提交) |
注意
cookies.txt、click_position.png等已写入.gitignore,不会随仓库提交。- 修改目标站点时请同步确认
#search_btn与「给我搜」的文案是否仍适用于该页面。
Description
Languages
Python
100%