返回 Skill 列表
extension
分类: 数据与分析无需 API Key

笔记内容提取

提取笔记的标题,内容,标签等信息到表格中

person作者: user_ae1514dahubcommunity

小红书笔记内容提取器

从小红书分享链接中自动提取笔记核心信息:笔记 ID、标题、正文内容、标签。

原理: 小红书带 xsec_token 的分享链接会返回完整 HTML 页面,其中 id="detail-desc" 的 div 包含笔记的全部文字内容。直接 HTTP GET 即可获取。

适用场景

  • 用户分享了小红书链接(含 xsec_token 的分享链接),需要快速获取笔记文字内容
  • 批量处理多个笔记链接,整理成结构化数据
  • 配合审核工具使用,提取笔记内容进行审核

使用方式

单条提取

python3 scripts/extract_xhs_note.py "https://www.xiaohongshu.com/explore/6a7441bd000000002500048d?xsec_token=xxx&xsec_source=app_share"

# 指定输出格式
python3 scripts/extract_xhs_note.py "<url>" --format text

批量提取(推荐)

# 将链接写入文件(每行一个),同时产出终端汇总 + Excel 文件
python3 scripts/extract_xhs_note.py links.txt --batch --summary --format xlsx -o 结果.xlsx

输出格式

| 格式 | 参数 | 说明 | |------|------|------| | XLSX | --format xlsx | Excel 文件,含"提取结果"和"汇总统计"两个 Sheet | | JSON | --format json(默认) | 完整结构化数据 | | Text | --format text | 人类可读摘要 | | CSV | --format csv | Tab 分隔,可粘贴到 Excel |

其他参数

| 参数 | 说明 | |------|------| | --summary | 在终端打印 Total 汇总(成功/失败列表、失败链接及原因) | | --output / -o | 指定输出文件路径 |

提取字段

| 字段 | 说明 | |------|------| | note_id | 笔记唯一标识(24位十六进制) | | title | 笔记标题(detail-desc 中第一个非标签、有意义的行) | | content | 笔记正文(标题之后、标签之前的内容) | | tags | 话题标签列表(自动去重保序) | | url | 原始链接 |

链接格式要求

必须包含 xsec_token 参数的分享链接(从小红书 APP 分享 → 复制链接获得):

https://www.xiaohongshu.com/explore/{note_id}?xsec_token=xxx&xsec_source=app_share
https://www.xiaohongshu.com/discovery/item/{note_id}?xsec_token=xxx&xsec_source=pc_share
http://xhslink.cn/o/XXXXX  (短链接,自动解析)

提取原理

HTTP GET → HTML 页面 → 正则提取 id="detail-desc" div → 清洗 HTML 标签 →
   ├── 标题:第一个非 #开头、≥5字的有意义行
   ├── 正文:标题之后、#标签之前的全部内容
   └── 标签:正则匹配 #xxx 并去重

产物说明

执行 --batch --summary --format xlsx 会产生两个产物:

  1. 终端汇总:Total 统计(总计/成功/失败),列出所有成功笔记的标题+标签,以及失败链接的具体 URL 和原因
  2. Excel 文件:包含两个 Sheet
    • "提取结果" — 所有笔记的序号、状态、笔记ID、标题、正文、标签、原始链接、错误信息
    • "汇总统计" — 总计/成功/失败/成功率 + 失败链接详情

注意事项

  • 基础提取仅依赖 Python 标准库 + curl(macOS 自带),无需安装任何依赖
  • Excel 导出(--format xlsx)需要 openpyxlpip install openpyxl
  • 链接必须包含有效的 xsec_token,否则页面不会渲染 detail-desc
  • xsec_token 有时效性,过期后需重新从 APP 分享获取新链接
  • 短链接(xhslink.cn)会自动跟随重定向解析
  • 请求间隔默认 0.5 秒,避免触发限流

故障排除

| 问题 | 原因 | 解决方案 | |------|------|----------| | "未找到 detail-desc" | xsec_token 过期或无效 | 从 APP 重新分享获取新链接 | | 标题为空或为标签 | 笔记以 #标签开头 | 脚本已处理,取第一个有效行 | | 短链接解析失败 | 网络或链接问题 | 手动访问短链接复制完整 URL |