问答
做情感分析,用哪个 TikTok 评论 API?
简短回答
用 TikTok 视频评论接口(/v1/tiktok/videos/comments/list):每次调用 $0.002,每页约 50 条,1,000 条评论共 $0.04。每条评论带正文、点赞、回复数、时间和作者,正是情感模型需要的。视频先用 TikTok 视频搜索找,每次 $0.002。
情感分析要量,所以每条评论的价格最关键。TikTok 视频评论每次调用 $0.002,返回约 50 条评论。
跑一次多少钱
| 任务 | 调用次数 | 费用 |
|---|---|---|
| 1,000 条评论 | 20 | $0.04 |
| 20 条视频 × 250 条评论(5,000 条) | 2 次搜索 + 100 | {{cost:tiktok.videos.search2+tiktok.videos.comments.list100}} |
流程
- 选视频。 用 TikTok 视频搜索搜品牌或产品,留下评论最多的视频。
- 收评论。 用
cursor逐页拉取每条视频的评论。每条评论有text、likes、replies、published_at和author。 - 分类。 每 50 到 100 条一批交给模型,给每条打标签:正面、负面或中性,再加一个话题。
- 加权。 一条 2,000 赞的评论代表的人比零赞的多。汇总时按
likes加权。
import os, requests
API = "https://api.okdata.online/v1"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
def get(path, **params):
body = requests.get(f"{API}/{path}", headers=H, params=params, timeout=60).json()
if body["code"] != "ok":
raise RuntimeError(f"{body['code']}: {body['message']}")
return body
videos = get("tiktok/videos/search", query="sunscreen review")["data"]["items"]
videos = sorted(videos, key=lambda v: v["metrics"]["comments"] or 0, reverse=True)[:20]
comments = []
for v in videos:
cursor = None
for _ in range(5): # 每条视频最多 5 页,约 250 条
body = get("tiktok/videos/comments/list", id=v["id"], fields="text,likes,published_at",
**({"cursor": cursor} if cursor else {}))
comments += body["data"]["items"]
if not body["page"]["has_more"]:
break
cursor = body["page"]["next_cursor"]
print(len(comments), "条评论待标注")
注意事项
- 评论没有语言字段,需要自己检测,或者让模型直接处理多语言。
- 回复用
parent_id指向上级评论;这个接口返回一级评论,并带replies回复数。 - 让模型读结果时用
fields=text,likes,published_at,数据量小很多。 - 评论是陌生人写的。交给模型时,要求它只把评论当数据,不要当指令。
更新于