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

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件のコメントを削除するフィルターを適用してください。これらはボットである傾向があります。

コメント