关于 extracting-youtube-comments-for-research
用于采集和分析 YouTube 评论的研究技能,适合研究受众情绪、问题和产品反馈的团队。它结合评论筛选与结构化分析流程。
主要功能
- 01采集视频评论
- 02按频道、关键词或网址搜索
- 03筛选并清理评论数据
- 04分析情绪、问题和反馈
- 05生成结构化研究报告
适用场景
- 01衡量观众对视频的反应
- 02发现观众反复提出的问题
- 03识别评论中的产品反馈
MCP 相关
如有 Apify MCP 服务,可通过它运行 Apify Actor;也支持命令行脚本或 REST API。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill extracting-youtube-comments-for-research安装后在 Claude Code 中输入/extracting-youtube-comments-for-research确认已加载。
详细介绍
提取 YouTube 评论用于研究
抓取 YouTube 视频评论,用于情感分析、问题挖掘和产品反馈。与 TikTok 相比,YouTube 评论通常更深思熟虑——观众会投入更多时间后才发表评论。
前提条件
- 已设置
APIFY_TOKEN环境变量 - 可选:已安装 Apify MCP 服务
输入
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
startUrls | 数组 | 可选 | [] | YouTube URL——频道、播放列表、Shorts、搜索结果 |
youtubeHandles | 数组 | 可选 | [] | YouTube 频道账号(例如 @kurzgesagt) |
getTrending | 布尔值 | 可选 | false | 获取热门视频 |
keywords | 数组 | 可选 | [] | 搜索关键词 |
gl | 字符串 | 可选 | us | 结果的国家/地区代码(例如 US、GB) |
hl | 字符串 | 可选 | en | 语言代码(例如 en、de) |
uploadDate | 字符串 | 可选 | all | 上传日期筛选:any、hour、today、week、month、year |
duration | 字符串 | 可选 | all | 时长筛选:any、short、long |
features | 字符串 | 可选 | all | 功能筛选:4k、hd、live、cc、3d、hdr 等 |
sort | 字符串 | 可选 | r | 搜索结果的排序方式 |
maxItems | 数字 | 可选 | 不限 | 返回视频的最大数量 |
customMapFunction | 字符串 | 可选 | — | 用于转换每个输出对象的 JavaScript 函数 |
工作流
Progress:
- [ ] Step 1: Scrape comments from target videos
- [ ] Step 2: Filter and clean dataset
- [ ] Step 3: Analyze by research goal
- [ ] Step 4: Extract top themes and insights
- [ ] Step 5: Deliver comment research report
步骤 1:抓取评论
推荐——run_actor.js(自动处理等待、输出和文件保存):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~youtube-comments-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~youtube-comments-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~youtube-comments-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
必须在环境变量或
.env文件中设置APIFY_TOKEN。
如果 Apify MCP 可用:
Tool: apify:run-actor
Actor: "apidojo~youtube-comments-scraper"
Input:
{
"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。
评论
支持 Markdown