用途
该技能用于提取和分析 YouTube 评论,以支持受众研究,包括情感分析、问题挖掘和产品反馈收集。资料指出,YouTube 评论比 TikTok 评论更审慎,观众在评论前会投入更多时间。
前置条件
- 设置 APIFY_TOKEN 环境变量
- 可选:安装 Apify MCP 服务器
输入参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| startUrls | array | 可选 | [] | YouTube 网址——频道、播放列表、Shorts、搜索结果 |
| youtubeHandles | array | 可选 | [] | YouTube 频道句柄(如 @kurzgesagt) |
| getTrending | boolean | 可选 | false | 获取热门视频 |
| keywords | array | 可选 | [] | 搜索关键词 |
| gl | string | 可选 | us | 结果的国家代码(如 US、GB) |
| hl | string | 可选 | en | 语言代码(如 en、de) |
| uploadDate | string | 可选 | all | 上传日期筛选:any、hour、today、week、month、year |
| duration | string | 可选 | all | 时长筛选:any、short、long |
| features | string | 可选 | all | 特性筛选:4k、hd、live、cc、3d、hdr 等 |
| sort | string | 可选 | r | 搜索结果的排序方式 |
| maxItems | number | 可选 | 无限制 | 返回的最大视频数 |
| customMapFunction | string | 可选 | — | 用于转换每个输出对象的 JavaScript 函数 |
工作流程
- 从目标视频抓取评论
- 过滤并清洗数据集
- 按研究目标分析
- 提炼主要主题与洞察
- 交付评论研究报告
步骤 1:抓取评论
推荐使用 run_actor.js(自动处理等待、输出和文件保存):
# 快速回答(在聊天中打印表格)
node scripts/run_actor.js \
--actor "apidojo~youtube-comments-scraper" \
--input '{"param": "value"}'
# 保存为 CSV
node scripts/run_actor.js \
--actor "apidojo~youtube-comments-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# 保存为 JSON
node scripts/run_actor.js \
--actor "apidojo~youtube-comments-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKEN 必须设置在环境或 .env 文件中。
如果 Apify MCP 可用:
工具:apify:run-actor Actor:"apidojo~youtube-comments-scraper" 输入:
{
"startUrls": [{"url": "[VIDEO_URL_1]"}, {"url": "[VIDEO_URL_2]"}],
"type": "comments",
"maxComments": 500
}
REST API 备用方式:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~youtube-comments-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls": [{"url": "[VIDEO_URL]"}], "type": "comments", "maxComments": 500}'
步骤 2:清洗数据集
- 移除少于 8 个词的评论(通常只有表情符号或“great video!”)
- 移除自我推广评论(包含外部链接)
- 移除创作者自己的回复(将 authorName 与频道名匹配)
- 若设置了 min_likes_on_comment,则应用该过滤条件
步骤 3:按目标分析
- 问题:包含 "?"、"how do you"、"what is"、"can you"
- 痛点:"I struggle"、"I can't"、"problem is"、"doesn't work"
- 产品反馈:产品提及 + 观点信号
- 情感:标准词汇分类器(正面/负面/中性)
comment_importance = likeCount * 0.60 + replyCount * 10 * 0.40
步骤 4:边界情况
- 评论已关闭:记录说明;尝试同频道的其他视频
- 大多为非英语:报告语言分布;如有需要则过滤为英语
- 垃圾信息泛滥:过滤掉同一用户名出现超过 3 次的内容
- 评论区被刷屏:超过 50% 为协同主题 → 标记为 BRIGADED
输出格式
# YouTube Comment Analysis
Videos: [N] | Comments analyzed: [N] | After filtering: [N] | Date: [DATE]
## Sentiment (if goal = sentiment)
Positive: [X%] | Negative: [X%] | Neutral: [X%]
## Top 10 Most-Liked Comments
| # | Comment (excerpt) | Likes | Replies |
|---|------------------|-------|---------|
## Key Themes
| Theme | Frequency | Avg Likes | Example |
|-------|-----------|-----------|---------|
## Most Asked Questions
1. "[question]" — [N] viewers
故障排除
- 返回评论很少:YouTube 限制部分视频的访问;尝试同频道中评论较多的视频。
- 多为表面赞美:使用 min_likes_on_comment = 5 过滤出实质性评论。
- 研究目标未出现:受众可能不在 YouTube 上以这种方式参与;该细分领域可尝试 Reddit 或 TikTok。
适用场景
适用于需要针对 YouTube 视频评论进行受众研究、情感分析、问题挖掘与产品反馈收集的场景。