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:
+19
-1
@@ -10,7 +10,7 @@ A: windows电脑去网站下载`https://nodejs.org/en/blog/release/v16.8.0` Wind
|
||||
## xhs登录出现滑块一直验证不通过问题
|
||||
|
||||
Q: 小红书扫码登录成功后,浏览器一直在验证滑块,无法登录?<br>
|
||||
A: 这种情况一般是因为使用playwright浏览器驱动被识别出来的问题,可以尝试删除项目目录下的`brower_data`文件夹,重新走登录流程。<br>
|
||||
A: 小红书平台风控非常严格,**强烈建议使用 CDP 模式连接自己的真实浏览器**(默认配置),不要使用无痕浏览器或标准 Playwright 模式。连接真实浏览器可以复用已有的 Cookie、登录状态和浏览历史,大幅降低被风控检测的概率。如果仍然出现滑块问题,可以尝试删除项目目录下的`brower_data`文件夹,重新走登录流程。<br>
|
||||
|
||||
## 如何指定关键词
|
||||
Q: 可以指定关键词爬取吗?<br>
|
||||
@@ -43,3 +43,21 @@ A: 打开 config/base_config.py 文件, 找到`ENABLE_GET_WORDCLOUD` 以及`ENAB
|
||||
## 词云图添加禁用词和自定义词组
|
||||
Q: 如何给词云图添加禁用词和自定义词组?
|
||||
A: 打开 `docs/hit_stopwords.txt` 输入禁用词(注意一个词语一行)。打开 config/base_config.py 文件找到 `CUSTOM_WORDS `按格式添加自定义词组即可。<br>
|
||||
|
||||
## CDP 连接已有浏览器相关问题
|
||||
|
||||
Q: 运行爬虫后提示无法连接到浏览器,报错 `Cannot connect to existing browser on port 9222`?<br>
|
||||
A: 请检查以下几点:<br>
|
||||
1. 确保 Chrome 浏览器已经打开并正在运行<br>
|
||||
2. 在 Chrome 地址栏输入 `chrome://inspect/#remote-debugging`,确保已勾选 **"Allow remote debugging for this browser instance"**<br>
|
||||
3. 页面上应显示 `Server running at: 127.0.0.1:9222`,如果没有显示说明远程调试未成功开启<br>
|
||||
4. 确保 Chrome 版本 >= 144,低版本不支持此功能,在地址栏输入 `chrome://version` 查看版本号<br>
|
||||
|
||||
Q: 运行爬虫后浏览器弹出了确认对话框,需要怎么操作?<br>
|
||||
A: 这是正常行为。Chrome 连接已有浏览器时会弹出确认对话框,点击"接受"即可。程序会等待用户确认,默认超时时间为60秒,在此期间点击确认即可。<br>
|
||||
|
||||
Q: 不想连接已有浏览器,想让程序自动启动一个新的浏览器怎么办?<br>
|
||||
A: 在 `config/base_config.py` 中设置 `CDP_CONNECT_EXISTING = False`,程序会自动检测并启动一个新的 Chrome/Edge 浏览器实例。<br>
|
||||
|
||||
Q: 为什么推荐连接已有浏览器而不是启动新浏览器?<br>
|
||||
A: 连接已有浏览器可以直接复用你浏览器中真实的 Cookie、登录状态、扩展插件和浏览历史,平台很难区分这是自动化操作还是真实用户行为,**大幅降低被平台风控检测的风险**。而启动新浏览器是一个"干净"的环境,更容易被平台识别为爬虫。<br>
|
||||
|
||||
Reference in New Issue
Block a user