---
domain: xiaohongshu.com
aliases: [小红书, 红薯, xhs, RED]
type: site-pattern
pinned: true
confidence: high
learned_at: '2026-05-05'
updated_at: '2026-08-18'
---

## L0
强登录站点，必须走 L3 CDP；笔记详情 `.note-content`，列表卡片 `.note-card`；URL 必带 `xsec_token`。

## 平台特征
- 强制登录：未登录会跳转登录墙，DOM 中没有正文
- 富 SPA：路由全靠 JS，WebFetch 拿到的 HTML 几乎是空壳
- 反爬严格：短时间多次请求会触发风控（验证码 / 限流）
- xsec_token：详情页 URL 包含 `xsec_token=...`，**通过站内交互生成**——直接拼 URL 容易失败

## 推荐流程
1. BrowserManage(create_space/start_session)；登录态若已授予 `browser.import.*`，用
   BrowserImport(discover → create_plan[domains: xiaohongshu.com] → dry_run → apply)，否则如实
   告知用户无法复用登录态，按未登录继续或放弃
2. BrowserAct(tab.navigate) 打开笔记；列表页用 BrowserSnapshot(semantic) 收 `.note-card` 链接的 ref
3. 正文抽取用 BrowserAct(page.extract-text)（format: markdown，超出 maxBytes 用返回的 nextCursor
   续读）——semantic 快照本就不含正文，这是两者的正常分工，不是回落；accessibility 在本站超限时会
   截断分页而非整体失败
4. 收尾 BrowserManage(close_session)；ephemeral Space 不留 Profile

## 推荐选择器
- 笔记标题：`#detail-title` 或 `h1[class*="title"]`
- 笔记正文：`#detail-desc` 或 `.note-content`
- 评论区：`.comments-container .comment-item`
- 列表卡：`.note-card`，链接 `.note-card a.cover`

## 已知陷阱
- ❌ 直接 WebFetch 笔记 URL：返回登录墙 HTML，解析无效
- ❌ Headless 模式访问：丢失登录态，触发风控
- ❌ 高频抓取：>30 req/min 易触发验证码

## 反爬细节
- xsec_token 由前端生成，与会话/路由绑定，不能跨 tab 复用太久
- User-Agent 检查较弱，但 navigator.webdriver 必须为 false
- 点击走 `BrowserAct(input.click)`（CDP 派发的真实指针事件），不要用页面内 `.click()`

## 速率限制
- 自评：单 IP 每分钟 ≤ 30 个详情页请求；超过会出验证码
- 风控触发后：等 5-10 分钟自然解除；同账号短期内反复触发可能短封

## 历史更新
- 2026-05-05：初版基线（基于公开经验整理，待 Agent 实际验证升级 confidence）
- 2026-08-18：同步 web-access v3.0 内置浏览器能力面，正文抽取由"回落 Playwright"改为
  `page.extract-text`；登录态缺失时的处置由"回落 CDP"改为如实告知用户（issue #2074）
