feat: 支持连接用户已有的 Chrome 浏览器进行爬取

新增 CDP_CONNECT_EXISTING 配置项,默认开启,通过 Chrome 远程调试功能
(chrome://inspect/#remote-debugging) 直接连接用户正在使用的浏览器,
复用真实的 Cookie、扩展和浏览历史,大幅降低平台风控检测风险。

主要变更:
- 新增 _connect_existing_browser 方法,通过 ws:// 直接连接已有浏览器
- 支持等待用户在浏览器端确认连接对话框(60秒超时)
- cleanup 时不关闭用户的浏览器进程
- 修复小红书在真实浏览器下 cookie 过多导致签名失败的问题
- 更新 README、CDP使用指南和常见问题文档
This commit is contained in:
程序员阿江(Relakkes)
2026-04-15 10:54:29 +08:00
parent e5ec29d4ff
commit 5294b6d9b7
7 changed files with 255 additions and 51 deletions

View File

@@ -112,13 +112,29 @@ cd MediaCrawler
uv sync
```
### 🌐 浏览器驱动安装
### 🌐 浏览器驱动安装(可选)
> 如果使用默认的 CDP 模式(连接已有 Chrome 浏览器),**无需安装浏览器驱动**。仅在使用标准 Playwright 模式时需要安装。
```shell
# 安装浏览器驱动
# 仅在标准 Playwright 模式下需要安装浏览器驱动
uv run playwright install
```
### 🌍 Chrome 浏览器配置(推荐)
项目默认使用 CDP 模式连接用户已有的 Chrome 浏览器可以复用浏览器已有的登录状态、Cookie、扩展等**大幅降低平台风控检测风险**。
使用前需要:
1. **安装最新版 Chrome 浏览器**(版本 >= 144[下载地址](https://www.google.com/chrome/)
2. **开启远程调试功能**:在 Chrome 地址栏输入 `chrome://inspect/#remote-debugging`,勾选 **"Allow remote debugging for this browser instance"**
3. 页面显示 `Server running at: 127.0.0.1:9222` 表示已就绪
> 💡 **提示**运行爬虫后Chrome 浏览器会弹出确认对话框,点击"接受"即可。程序会等待用户确认60秒内操作完成即可。
>
> 如果不想使用 CDP 模式,可以在 `config/base_config.py` 中设置 `ENABLE_CDP_MODE = False` 切换为标准 Playwright 模式。
## 🚀 运行爬虫程序
```shell