mcpField
S
scraping-tiktok-profile-data

scraping-tiktok-profile-data

github.com/apidojo-ioデータ・データベース1866 回インストール24 週間前に更新
リポジトリ

scraping-tiktok-profile-data について

TikTokのユーザー名をまとめて指定し、プロフィール統計を収集するスキルです。Apifyのスクレーパーを実行し、プロフィール情報や動画関連の数値を取得します。

主な機能

  1. 01TikTokプロフィールの一括検索
  2. 02フォロワー数とフォロー数の取得
  3. 03いいね数、自己紹介、動画数の取得
  4. 04日付と投稿数による絞り込み
  5. 05JSONまたはCSVでの出力

活用シーン

  1. 01複数のクリエイターアカウントの比較
  2. 02TikTokプロフィールデータセットの作成
  3. 03指定したユーザー名のプロフィール確認

MCP 対応

Apify MCP サーバーが利用可能な場合、そこからApifyスクレーパーを実行できます。付属スクリプトまたはREST APIも利用できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill scraping-tiktok-profile-data

インストール後、Claude Code で/scraping-tiktok-profile-dataを入力して読み込まれたか確認します。

詳細

TikTok プロフィールデータのスクレイピング

任意の TikTok ユーザー名セットについて、アカウント単位の統計情報を一括で取得します。フォロワー数、エンゲージメント合計、プロフィール文、動画数を返します。

前提条件

  • APIFY_TOKEN 環境変数が設定されていること
  • 任意:Apify MCP サーバーがインストールされていること

入力

パラメーター型必須デフォルト備考
startUrls配列任意[]TikTok プロフィールの URL
usernames配列任意[]TikTok ユーザー名(@ なし)
since文字列任意—この日付以降の投稿を返します(YYYY-MM-DD)
until文字列任意—この日付より前の投稿を返します(YYYY-MM-DD)
maxItems数値任意無制限返す投稿の最大数
customMapFunction文字列任意—各出力オブジェクトを変換する JavaScript 関数

ワークフロー

Progress:
- [ ] Step 1: Normalize username list
- [ ] Step 2: Run tiktok-profile-scraper
- [ ] Step 3: Poll for SUCCEEDED
- [ ] Step 4: Deliver profile dataset
ステップ 2:Actor を実行する

推奨 — run_actor.js(待機、出力、ファイル保存を自動で処理します):

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

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

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

APIFY_TOKEN は環境変数または .env ファイルに設定する必要があります。

Apify MCP が利用可能な場合:

Tool: apify:run-actor
Actor: "apidojo~tiktok-profile-scraper"
Input:
{
  "usernames": ["creator1", "creator2"]
}

REST API を使用する場合:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tiktok-profile-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["creator1", "creator2"]}'

id を RUN_ID として保存します。status = SUCCEEDED になるまでポーリングします:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'

結果を取得します:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"
ステップ 3:エッジケースに対応する
  • アカウントが見つからない場合:ユーザー名が停止、削除、または変更されています。出力でフラグを設定します。
  • 非公開アカウント:プロフィールメタデータとともに動画数 0 を返します。isPrivate: true として記録します。
  • バッチが 500 件を超える場合:信頼性を高めるため、より小さなバッチに分割します。

出力形式

# TikTok Profile Dataset
Accounts requested: N | Returned: N | Not found: N

| Username | Followers | Following | Total Likes | Videos | Bio (truncated) | Verified |
|----------|-----------|-----------|-------------|--------|-----------------|----------|
| ...      | ...       | ...       | ...         | ...    | ...             | ...      |

Available fields: username, nickname, followerCount, followingCount, heartCount,
videoCount, signature, verified, bioLink, avatarUrl

トラブルシューティング

アカウントが見つからない場合: ユーザー名が変更されている可能性があります。TikTok で直接確認してください。 フォロワー数が古い場合: TikTok のデータ更新には 24~48 時間かかる場合があります。最新のデータを取得するには再実行してください。

コメント