# 为什么抓到的抖音评论比视频显示的评论数少很多？

> 抖音视频显示 2,416 条评论，爬虫或 API 只拿到 619 条。差的那些去哪了、怎么核对覆盖率，以及把公开评论拿全要花多少钱。

网页版：https://okdata.online/zh/answers/douyin-comments-incomplete/

**简短回答：**抖音视频上的评论数包含楼中楼回复，还有一部分评论被折叠、隐藏或删除，所以公开的一级评论一定比它少。okdata 返回抖音公开提供的全部一级评论，每页约 20 条，$0.002 一次，每条带回复数，可以用来核对覆盖率；2,000 条评论共 $0.20。

视频显示 2,416 条评论，导出来只有 619 行。第一反应是爬虫坏了，有时确实如此：签名失败或者被拦截，翻页会悄悄提前结束，连报错都没有。但就算采集程序完美无缺，也到不了 2,416。先弄清原因，再决定要不要去查 bug。

## 评论去哪了

- **回复也算数。**抖音的评论数包含评论下面的回复。一条视频有 600 条一级评论、1,800 条回复，就会显示 2,400。
- **被折叠、隐藏的评论。**抖音会折叠低质量或被举报的评论，作者也可以隐藏或删除。这些都不公开提供。
- **特别大的评论区。**几万条评论的视频，抖音可能翻不到底就不再返回一级评论了。

## 核对覆盖率

[抖音视频评论](/zh/apis/douyin/videos/comments/list/)返回一级评论，每条带 `replies` 回复数。把采到的每条评论按 `1 + replies` 加总，再和[视频详情](/zh/apis/douyin/videos/get/)里的 `metrics.comments` 比一比。两个数接近，说明公开的你都拿到了；如果加总远小于评论数，而最后一页还显示 `has_more: true`，那就是采集提前停了。

## 费用

| 采到的评论数 | 调用次数 | 费用 |
|---|---|---|
| 620（上面的例子） | 31 | $0.062 |
| 2,000 | 100 | $0.20 |
| 加上视频本身的评论数 | 1 | $0.002 |

## 核对用的代码

```python
import os, requests

API, HEAD = "https://api.okdata.online", {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
vid = "7301234567890123456"
total = requests.get(API + "/v1/douyin/videos/get", headers=HEAD, params={"id": vid}, timeout=60).json()["data"]["item"]["metrics"]["comments"]

seen, params = 0, {"id": vid}
while True:
    body = requests.get(API + "/v1/douyin/videos/comments/list", headers=HEAD, params=params, timeout=60).json()
    seen += sum(1 + (c["replies"] or 0) for c in body["data"]["items"])
    if not body["page"]["has_more"]:
        break
    params["cursor"] = body["page"]["next_cursor"]
print(f"covered {seen} of {total}")
```

每页单独扣费；某一页失败的话不扣费，用同一个游标重发即可。

## 如果你需要回复的具体内容

这里的接口只提供一级评论。回复正文需要别的工具：MediaCrawler 和 TikTokDownloader 可以用登录账号采回复，不过从它们的 issue 区看，回复接口比一级评论更容易失效。对大多数情感分析来说，按点赞数和回复数加权的一级评论已经足够说明问题。可以参考[口碑分析方案](/zh/solutions/word-of-mouth/)。

## 用到的接口

- [抖音视频评论](https://okdata.online/zh/apis/douyin/videos/comments/list/) `douyin.videos.comments.list`：$0.002/次 · 每页约 20 条评论
- [抖音视频详情](https://okdata.online/zh/apis/douyin/videos/get/) `douyin.videos.get`：$0.002/次

更新于 2026-11-12
