Files
audiencescf/README.md
2026-02-21 20:05:29 +08:00

51 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`(模板匹配)
```bash
pip install -r requirements.txt
pip install opencv-python
```
## 使用
1.`main.py` 中确认 `TARGET_URL` 为目标页面地址。
2. (可选)在项目根目录放置 `cookies.txt`
- Netscape 格式:首行为 `# Netscape``# HTTP Cookie File`
- 或使用 nodriver 原生导出的格式
3. 若使用 Turnstile 点击,确保根目录有模板图 `box.png`(与当前页面复选框区域匹配)。
4. 运行:
```bash
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` 与「给我搜」的文案是否仍适用于该页面。