用途
该技能用于从 TikTok 视频或创作者主页抓取公开评论,服务于受众情绪分析、产品研究和竞品情报。评论被视为消费者最直接的声音,可用于规模化地了解未经过滤的用户反应。
主要能力
- 抓取指定 TikTok 视频的评论
- 可选择是否包含嵌套回复评论
- 可限制返回的评论数量
- 可自定义 JavaScript 函数对每条输出对象进行转换
- 支持将结果保存为 CSV 或 JSON
- 内置针对情绪分析、产品反馈、受众画像和高赞评论的分析思路
- 提供固定格式的输出模板
输入参数
| 参数 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| startUrls | array | 是 | [] | 要抓取评论的 TikTok 视频 URL |
| includeReplies | boolean | 可选 | false | 是否包含回复评论(嵌套) |
| maxItems | number | 可选 | 不限 | 返回的最大评论数 |
| customMapFunction | string | 可选 | — | 转换每条输出对象的 JavaScript 函数 |
使用方式
使用前需要设置 APIFY_TOKEN 环境变量,可选安装 Apify MCP server。
推荐使用 run_actor.js,该脚本自动处理等待、输出和文件保存:
# 快速回答(在聊天中打印表格)
node scripts/run_actor.js \
--actor "apidojo~tiktok-comments-scraper" \
--input '{"param": "value"}'
# 保存为 CSV
node scripts/run_actor.js \
--actor "apidojo~tiktok-comments-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# 保存为 JSON
node scripts/run_actor.js \
--actor "apidojo~tiktok-comments-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
如果已有 Apify MCP,可使用:
Tool: apify:run-actor
Actor: "apidojo~tiktok-comments-scraper"
Input:
{
"postURLs": [
"https://www.tiktok.com/@[handle]/video/[VIDEO_ID_1]",
"https://www.tiktok.com/@[handle]/video/[VIDEO_ID_2]"
],
"maxCommentsPerPost": 500,
"includeReplies": false
}
REST API 备用方式:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tiktok-comments-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"postURLs": [
"https://www.tiktok.com/@[handle]/video/[VIDEO_ID]"
],
"maxCommentsPerPost": 500,
"includeReplies": false
}'
等待状态为 SUCCEEDED 后获取数据集。
工作流程
- 明确目标视频和研究目标。建议使用同一创作者或同一主题的 3-5 个视频以获得可靠数据集。
- 运行 tiktok-comments-scraper。
- 获取并清洗评论数据集。从原始数据中提取每条评论的 text、author.uniqueId、diggCount、replyCommentTotal 和 createTime。清洗时移除空评论或纯表情评论、垃圾模式(重复文本、链接、自我推广)以及创作者本人的回复。
- 按目标进行分析。情绪分析时,将每条评论分类为正面、负面或中性,并按 diggCount 加权。产品反馈分析时,寻找功能请求、痛点和重复出现的产品提及。受众画像分析时,从评论者简介和评论语言中识别人口统计信号、地域信号和兴趣信号,并找出受众最常问的问题。高赞评论分析时,按 diggCount 降序排列。
- 按模板输出结果。
输出格式
# TikTok Comment Analysis
Video(s): [N] | Total comments analyzed: [N] | Date: [DATE]
## Source Videos
| Video | Creator | Views | Comments Extracted |
|-------|---------|-------|-------------------|
| [url] | @[handle] | [N] | [N] |
## Sentiment Distribution (if goal = sentiment)
Positive: [X%] ([N] comments) | Negative: [X%] | Neutral: [X%]
Weighted by likes — Positive: [X%] | Negative: [X%]
## Top 10 Most-Liked Comments
| # | Comment | Likes | Replies |
|---|---------|-------|---------|
| 1 | "[comment text]" | [N] | [N] |
## Key Themes in Comments
| Theme | Frequency | Avg Likes per Comment |
|-------|-----------|----------------------|
| [Theme 1] | [N] | [N] |
| [Theme 2] | [N] | [N] |
## Most Asked Questions
1. "[question text]" — asked by [N] commenters
2. "[question text]" — [N] commenters
## Common Complaints / Pain Points
1. "[pain point]" — [N] comments, [N] total likes
## Audience Signals
- Age/demographic indicators: [summary]
- Geographic signals: [summary]
- Interest signals: [summary]
适用场景
- 受众情绪分析
- 产品反馈收集
- 受众画像研究
- 竞品情报
- 高赞评论识别
限制与注意事项
- 返回评论较少时,视频可能关闭了评论或视频较新,可尝试其他视频。
- 评论若全部为非英语,需要增加语言过滤后处理,或调整为英语 TikTok 创作者。
- 垃圾评论占主导时,可过滤掉少于 5 个词且 0 点赞的评论。
- 该技能依赖 APIFY_TOKEN,具体价格、定价方案暂未提供。
- 分析中的情绪分类方法参考 Twitter sentiment skill,具体实现细节暂未提供。
- 每一步的具体效果数据暂未提供。