# 怎么按关键词批量导出小红书评论

> 按关键词搜小红书笔记，留下讨论最多的几篇，再把它们的评论一页页拉进一张 CSV：用到的两个接口、关键参数、Python 代码和花费。

网页版：https://okdata.online/zh/guides/xiaohongshu-note-comments/

两个接口：先用小红书笔记搜索，再对留下的每篇笔记调小红书笔记评论。下面的示例一共 7 次调用，花费 $0.14；失败的调用不扣费。

更新于 2026-11-12

要做的事：新品要上市，或者要和某个竞品正面竞争，想知道小红书用户对这个品类到底怎么说。笔记代表博主想让你看到的东西，笔记下面的评论才是读者真正在问、在怀疑、在比较的东西。所以先搜关键词，留下讨论最多的那几篇，再一页一页读评论。最后得到一张 CSV：笔记标题、评论内容、评论者、点赞数、回复数、时间，以及小红书在评论旁显示的 IP 属地。

整个过程不需要小红书账号，不用 Cookie，也不用处理 xsec_token。每次调用就是带着 key 发一个 HTTPS 请求。

## 分步操作

### 第一步：找到值得读的笔记

调用[小红书笔记搜索](https://okdata.online/zh/apis/xiaohongshu/notes/search/)，`query` 按用户在 App 里的搜法写：`防晒霜`、`防晒霜 油皮`、`敏感肌 防晒`。这里有两个参数要关注：

- `sort`：`general`（默认，小红书的综合排序）、`latest`（最新）或 `popular`（最热）。挖评论时用 `popular`，互动最多的笔记通常就是讨论最热闹的。
- `type`：`all`（默认）、`video`（视频笔记）或 `image`（图文笔记）。除非只关心一种形式，否则保持 `all`。

一次调用返回约 20 篇笔记，每次 $0.02。每篇有 `id`（24 位十六进制）、`title`、正文开头、`author`、`published_at`，以及包含点赞、收藏（favorites）和评论数的 `metrics`。按 `metrics.comments` 排序，就知道该打开哪几篇。

```bash
curl -G "https://api.okdata.online/v1/xiaohongshu/notes/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'query=防晒霜' \
  --data-urlencode 'sort=popular' \
  --data-urlencode 'fields=id,title,metrics.comments,metrics.likes,published_at'
```

`fields` 只保留你点名的字段，返回更短，价格不变。

### 第二步：一页页读评论

把笔记 `id` 传给[小红书笔记评论](https://okdata.online/zh/apis/xiaohongshu/notes/comments/list/)。一次调用返回约 10 条一级评论，每次 $0.02。每条有 `text`、`author`（昵称和 ID）、`likes`、`replies`（下面有几条回复）、`published_at` 和 `ip_location`。这些都是一级评论，所以 `parent_id` 为 null。要下一页，就把 `page.next_cursor` 原样作为 `cursor` 传回去；`page.has_more` 为 `false` 时说明到底了。

```bash
curl -G "https://api.okdata.online/v1/xiaohongshu/notes/comments/list" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'id=672a4f1d000000001b03c58e'
```

小红书的评论一页条数不多，所以预算要按页算，不要按笔记算：1000 条评论大约要 100 次调用。

### 第三步：用 Python 串起来

下面的脚本搜索一次，按评论数挑出前 3 篇笔记，每篇最多读 `MAX_PAGES` 页，最后写成一张 CSV。

```python
import csv
import os
import requests

API = "https://api.okdata.online"
HEADERS = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
NOTES = 3      # 打开几篇笔记
MAX_PAGES = 2  # 每篇读几页评论；每页一次调用


def get(path, **params):
    body = requests.get(API + path, headers=HEADERS, params=params, timeout=60).json()
    if body["code"] != "ok":
        raise RuntimeError(f"{body['code']}: {body['message']} (charged: {body['charged']})")
    return body


notes = get("/v1/xiaohongshu/notes/search", query="防晒霜", sort="popular")["data"]["items"]
notes = sorted(notes, key=lambda n: n["metrics"]["comments"] or 0, reverse=True)[:NOTES]

with open("xhs_comments.csv", "w", newline="", encoding="utf-8-sig") as f:
    out = csv.writer(f)
    out.writerow(["note_id", "note_title", "comment", "user", "likes", "replies", "ip_location", "published_at"])
    for n in notes:
        cursor = None
        for _ in range(MAX_PAGES):
            params = {"id": n["id"], **({"cursor": cursor} if cursor else {})}
            body = get("/v1/xiaohongshu/notes/comments/list", **params)
            for c in body["data"]["items"]:
                out.writerow([n["id"], n["title"], c["text"], c["author"]["name"], c["likes"],
                              c["replies"], c["ip_location"], c["published_at"]])
            if not body["page"]["has_more"]:
                break
            cursor = body["page"]["next_cursor"]
```

想覆盖更多笔记、读得更深，就调大 `NOTES` 和 `MAX_PAGES`。10 篇笔记各读 5 页是 50 次评论调用，在搜索之外再花 $1.00。按每 1000 条评论算，大约 $2.00。

## 注意事项

- **条数和笔记上的数字对不上。** 笔记显示的评论数包含了楼中楼回复。这个接口列的是一级评论，每条的回复数在 `replies` 里，但没有回复正文，所以拿到的行数会比 `metrics.comments` 少。
- **排序。** 评论按小红书默认顺序返回，没有排序参数，也没有按最新排序的选项。
- **IP 属地。** `ip_location` 是小红书显示在评论旁边的省份或国家，没显示时为 null。
- **不用管 token。** 只传笔记 ID 就行。为什么这一点在小红书上很重要，见 [xsec_token 那篇问答](https://okdata.online/zh/answers/xiaohongshu-xsec-token/)。
- **删掉的笔记不收钱。** 已删除或设为私密的笔记返回 `not_found`，不扣费，跳过即可。
- **重试不会重复扣费。** 每次调用带一个 `Idempotency-Key` 请求头。24 小时内同样的请求配同样的 key，会直接拿回上次的结果，`meta.replayed` 为 `true`，不再扣费。

如果是要导出某一篇笔记下的全部评论，看[怎么导出小红书笔记的全部评论](https://okdata.online/zh/answers/xiaohongshu-export-note-comments/)。想把评论整理成用户痛点和问题清单，看[怎么用大模型从抖音和小红书评论里找痛点](https://okdata.online/zh/answers/llm-comment-pain-points-douyin-xiaohongshu/)。

## 示例花费

按最热搜一页“防晒霜”笔记，再取评论最多的 3 篇，每篇读两页评论

| 接口 | 调用次数 | 单价 | 小计 |
|---|---|---|---|
| [小红书笔记搜索](https://okdata.online/zh/apis/xiaohongshu/notes/search/) | 1 | $0.02 | $0.02 |
| [小红书笔记评论](https://okdata.online/zh/apis/xiaohongshu/notes/comments/list/) | 6 | $0.02 | $0.12 |
| 合计 | 7 |  | $0.14 |

按本页生成时的价格计算。失败的调用不扣费。

## 在你的 AI 里用（MCP）

先接好 MCP 服务，然后直接说你要什么。智能体会自己找到这些接口、看清价格，再用你的余额调用。

可以这样说：在小红书按最热搜“防晒霜”，挑评论最多的 3 篇笔记，每篇读两页评论，整理成一张表：笔记标题、评论内容、点赞、回复数、IP 属地、时间。

```json
{
  "endpoint": "xiaohongshu.notes.search",
  "params": {
    "query": "防晒霜 推荐"
  },
  "idempotency_key": "<新的 UUID>"
}
```

MCP：`https://api.okdata.online/mcp`

## 本指南用到的接口

- [小红书笔记搜索](https://okdata.online/zh/apis/xiaohongshu/notes/search/) `xiaohongshu.notes.search`：$0.02/次 · 每页约 20 篇笔记
- [小红书笔记评论](https://okdata.online/zh/apis/xiaohongshu/notes/comments/list/) `xiaohongshu.notes.comments.list`：$0.02/次 · 每页约 10 条评论

## 更多小红书内容

- [小红书 API](https://okdata.online/zh/apis/xiaohongshu/)
- [小红书 API Python 教程：笔记、博主和评论（2026）](https://okdata.online/zh/guides/xiaohongshu-api-python/)
- [怎么在小红书蒲公英按报价和阅读量筛达人](https://okdata.online/zh/guides/xiaohongshu-pgy-creator-rates/)
- [怎么搜索小红书笔记并导出成 CSV 表格](https://okdata.online/zh/guides/xiaohongshu-search-export-notes/)
- [怎么在 Cursor 或 Cline 里接入小红书数据的 MCP？](https://okdata.online/zh/answers/cursor-cline-xiaohongshu-mcp/)
- [怎么用大模型从抖音、小红书评论里提炼用户痛点？](https://okdata.online/zh/answers/llm-comment-pain-points-douyin-xiaohongshu/)
- [MediaCrawler 老是跑不通，换付费接口值不值？](https://okdata.online/zh/answers/mediacrawler-alternative-paid-api/)
- [MediaCrawler 有 MCP 或 API 版吗？想直接给 AI 智能体用](https://okdata.online/zh/answers/mediacrawler-mcp-for-ai-agents/)
- [自己搭社媒爬虫和买数据接口，哪个更便宜？](https://okdata.online/zh/answers/self-hosted-scraper-vs-api-cost/)
- [怎么在小红书上找到用户对某个品牌的吐槽和差评？](https://okdata.online/zh/answers/xiaohongshu-brand-complaints/)
- [自己爬还是按次调用数据接口：成本、维护和风险](https://okdata.online/zh/compare/scraping-vs-data-api/)
- [怎么选社交媒体数据 API（2026）](https://okdata.online/zh/compare/social-media-data-apis/)
- [社媒数据 MCP 服务器：自己部署还是用托管的](https://okdata.online/zh/compare/social-media-data-mcp-servers/)
- [小红书数据接口有哪些？官方开放平台、第三方 API、开源爬虫 4 类方案怎么选（2026）](https://okdata.online/zh/compare/xiaohongshu-data-apis/)
