# Clover · 洞1 标杆链接读取 验证落盘

> 创建：2026-06-04｜验证人：CC｜性质：洞1（标杆链接能否读取）实测+代码勘察
> 北哥真实标杆链接3条(采集表xlsx)：
> - xiaohongshu.com/explore/63db1c9b00000000020011e2
> - xiaohongshu.com/explore/649b90240000000011012d8a
> - xiaohongshu.com/explore/680ae7d3000000001c028a5b

## 一句话结论
不是"链接读不了"，是**裸抓读不了、登录态能读**。但凡"系统替客户去取数据"——哪怕只取一条——机制和批量爬虫一样、风险一样(封号+违反平台ToS)。真正干净的分界线 = 系统碰不碰小红书服务器。

## 实测1：裸HTTP抓取 = 死
3条真实链接裸抓(无登录态、无签名)，全部返回**完全相同的552780字节风控兜底假页**，标题"你访问的页面不见了"，正文/赞藏评全被抽空。小红书反爬：必须 登录Cookie + 动态签名(x-s/x-t) 才给真数据。

## 实测2：本地已有一套跑通的"登录态采集"方案（金矿）
倩倩姐n8n里有现成跑通链路，代码全在本地：
- **工作流**：`企业培训项目/n8n/小红书仿写.json`（链接→读文案→读图片→二创→发布全链路）
  - 节点 `@donney521/n8n-nodes-xiaohongshu`：operation=basicInfo(读文案) / images(读图) / search(搜索)
- **节点源码**：`/Users/qiyu/n8n-nodes-xiaohongshu/`（仅依赖axios，逻辑在 src/XhsClient.ts）
- **签名服务**：`/Users/qiyu/xhs-sign-server/sign_server.py`（246行，Flask+Playwright，端口5005，当前未运行）

### 机制（透明了）
```
笔记链接 → XhsClient提取noteId
   → 调签名服务(Playwright开隐身真浏览器，跑小红书自家JS函数 window._webmsxyw 算签名)
   → 带 Cookie + x-s/x-t 请求 edith.xiaohongshu.com(小红书内部API)
   → 拿到真数据：title/desc/likedCount/collectedCount/commentCount/images[]/tags[]/user
```
聪明点：不破解算法，而是让小红书**自己页面的JS**替我们算签名(stealth伪装绕webdriver检测)。算法它改、函数还是它自己的，照用。

### 三个脆弱点（诚实）
1. 🟡 要养Cookie：登录态(a1+web_session)需扫码、会过期、要维护
2. 🟡 签名服务是重资产：常驻Playwright无头浏览器，吃内存、要保活、会崩
3. 🔴 **合规与封号**：走内部API+绕反爬=违反平台ToS，号可能被封，对外卖有合规隐患

## 关键判断：「输入链接→读取」也算自动扒
- 区别只在"扒多少"(频率→被抓速度)，不在"扒不扒"(性质→都违规、都可能封号)
- 风险落在**提供登录态的那个账号**头上：我们的号→坑我们；客户的号→坑客户
- 真正分界线 = **系统碰不碰小红书服务器**：
  - 系统替客户取(输入链接自动读) → 碰 → 算扒、有封号风险
  - 客户自己截图+粘文案 → 不碰 → 不算扒、零平台风险

## 洞1 最终结论：分场景三档（修正"一律降级截图"）
| 档 | 方案 | 拿数据 | 风险 | 定位 |
|---|---|---|---|---|
| 🔴 裸抓 | 纯链接抓 | ❌实测死 | — | 排除 |
| 🟢 截图手填 | 客户截图+粘文案 | ✅ | 零平台风险 | **一期对外SaaS标配(安全底座)** |
| 🟡 登录态采集 | 链接自动提取(这套n8n) | ✅全套 | 养号+签名服务+封号合规 | **北哥内部自用插件，二期可选模块，不进对外标配** |

### 决策依据
1. Clover要卖给郑州一堆企业 → 对外标配不能内置"会让客户号被封"的功能 → 对外用🟢截图手填
2. 北哥自己做内容、自担风险、用自己的号 → 可用🟡登录态采集帮自己扒标杆 → 北哥车间内部加速插件
3. 这套代码现成跑通，真要做直接搬不重造(又一条"走过的对的路")，存档备用

## 待办
- [ ] 架构方案：标杆采集对外=截图手填；登录态采集列为北哥内部/二期可选模块
- [ ] (二期若做)签名服务+XhsClient打包进Clover北哥车间，作opt-in
