mcpField
E
extracting-tiktok-comments-for-research

extracting-tiktok-comments-for-research

github.com/apidojo-io数据与数据库1779 次安装24 周前更新
代码仓库

关于 extracting-tiktok-comments-for-research

用于采集并分析 TikTok 视频公开评论的技能,面向受众情绪、产品反馈和竞品研究,并提供数据清理与分析流程。

主要功能

  1. 01采集视频公开评论
  2. 02可选包含回复
  3. 03清理和筛选评论数据
  4. 04分析情绪与产品反馈
  5. 05按点赞数排序评论

适用场景

  1. 01评估产品发布后的反响
  2. 02查找反复出现的受众问题
  3. 03比较不同视频的情绪

MCP 相关

可通过 Apify MCP 使用 `apify:run-actor` 运行 `apidojo~tiktok-comments-scraper` Actor。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill extracting-tiktok-comments-for-research

安装后在 Claude Code 中输入/extracting-tiktok-comments-for-research确认已加载。

详细介绍

提取 TikTok 评论用于研究

抓取 TikTok 视频中的所有公开评论,用于受众情感分析、产品研究或竞争情报。评论是最原始的消费者心声,能大规模呈现未经筛选的真实反应。

前置条件

  • 已设置 APIFY_TOKEN 环境变量
  • 可选:已安装 Apify MCP 服务

输入

参数类型必填默认值说明
startUrls数组✅[]要抓取评论的 TikTok 视频 URL
includeReplies布尔值可选false是否包含回复评论(嵌套评论)
maxItems数字可选不限返回的最大评论数
customMapFunction字符串可选—用于转换每个输出对象的 JavaScript 函数

工作流

Progress:
- [ ] Step 1: Identify target video(s) and research goal
- [ ] Step 2: Run tiktok-comments-scraper
- [ ] Step 3: Fetch and clean comment dataset
- [ ] Step 4: Analyze themes, sentiment, and top comments
- [ ] Step 5: Deliver research output
步骤 1:明确参数

向用户询问:

  • TikTok 视频 URL — 指向具体视频的直链(例如 https://www.tiktok.com/@creator/video/[ID]) 或
  • 创作者账号名 — 抓取其最新或最热门视频的评论
  • 每个视频的最大评论数(默认:500;最大:约 3,000)
  • 研究目标 — 情感分析、产品反馈、受众画像或竞争情报
  • 日期筛选(可选 — 仅关注近期评论)

最佳研究提示: 选择同一创作者的视频,或相同主题的 3-5 个视频,以获得可靠的数据集。

步骤 2:运行 Actor

推荐 — run_actor.js(自动处理等待、输出和文件保存):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~tiktok-comments-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~tiktok-comments-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~tiktok-comments-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json

必须在环境或 .env 文件中设置 APIFY_TOKEN。

如果可使用 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:清理评论数据集

从原始数据集中提取每条评论的以下信息:

  • text — 评论文本
  • author.uniqueId — 评论者用户名
  • diggCount — 评论获赞数
  • replyCommentTotal — 该评论收到的回复数
  • createTime — 时间戳

清理:

  • 移除空评论或仅含表情符号的评论(如需进行文本分析)
  • 移除垃圾内容模式(重复文本、链接、自我推广)
  • 移除创作者自己的回复(通过匹配 author.uniqueId 识别)
步骤 4:按目标分析

目标:情感分析 将每条评论分类为正面 / 负面 / 中性(使用与 Twitter 情感分析技能相同的词汇方法)。根据 diggCount 加权——获赞评论反映了社区的认同。

目标:产品反馈 查找:

  • 功能需求:“我希望”“你应该”“如果……会更好”“需要”
  • 痛点:“为什么……不”“真不敢相信”“……的问题”“无法使用”
  • 具体产品提及:在多条评论中反复出现的名词

目标:受众画像 根据评论者简介(如有)和评论用语:

  • 识别受众人口统计特征信号(年龄、地域、兴趣信号)
  • 找出受众最常提出的问题

目标:热门评论 只需按 diggCount 降序排序。获赞最多的评论代表了社区最认同的反应。

步骤 5:整理输出

输出格式

# 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 的评论,这类评论往往来自机器人。

评论

支持 Markdown