extracting-tiktok-comments-for-research について
TikTok動画の公開コメントを収集・分析するスキルです。感情分析、製品フィードバック、視聴者の質問や競合調査に向けた手順を示します。
主な機能
- 01公開コメントの収集
- 02返信コメントの追加取得
- 03コメントデータの整理と選別
- 04感情と製品フィードバックの分析
- 05いいね数によるコメント順位付け
活用シーン
- 01製品発売への反応測定
- 02視聴者から繰り返される質問の把握
- 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
APIFY_TOKENは環境変数または.envファイルに設定する必要があります。
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 で重み付けします。「いいね」が多いコメントは、コミュニティの賛同を反映しています。
目的:製品へのフィードバック 次の点を探します。
- 機能の要望:「I wish」「you should」「would be better if」「needs」
- 問題点:「why doesn't it」「can't believe」「problem with」「doesn't work」
- 特定の製品への言及:複数のコメントで繰り返し登場する名詞
目的:オーディエンスのプロファイリング コメント投稿者の自己紹介(利用可能な場合)とコメントの言葉遣いから、次の点を確認します。
- オーディエンスの属性を示す手掛かり(年齢、地域、興味関心)
- オーディエンスからよく寄せられる質問
目的:人気コメント
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件のコメントを削除するフィルターを適用してください。これらはボットである傾向があります。