mcpField
S
scraping-tiktok-videos-by-hashtag

scraping-tiktok-videos-by-hashtag

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

scraping-tiktok-videos-by-hashtag について

Apify の TikTok scraper を実行し、ハッシュタグ、キーワード、指定した TikTok URL の動画メタデータを収集するスキルです。

主な機能

  1. 01キーワードまたは指定 URL で検索
  2. 02関連度、いいね数、投稿日で並べ替え
  3. 03国による結果の絞り込み
  4. 04動画メタデータと反応指標の取得
  5. 05件数制限と出力変換に対応

活用シーン

  1. 01ハッシュタグやキーワードに関連する動画の収集
  2. 02地域別検索結果の動画反応の比較
  3. 03TikTok URL から件数を限ったデータセットを作成

MCP 対応

Apify MCP サーバーが利用可能な場合、run-actor ツールから Apify Actor を実行できます。

インストール

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

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill scraping-tiktok-videos-by-hashtag

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

詳細

ハッシュタグによる TikTok 動画のスクレイピング

TikTok の任意のハッシュタグまたはキーワードに対応した生動画データセットです。エンゲージメント指標や投稿者情報を含む動画の完全なメタデータを返します。

前提条件

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

入力

パラメーター型必須デフォルト備考
startUrlsarray任意[]TikTok の URL — ユーザープロフィール、ハッシュタグ、音楽ページ、検索、場所
keywordsarray任意[]投稿を見つけるための検索キーワード/語句
sortTypestring任意RELEVANCEキーワード検索結果の並び順:RELEVANCE、MOST_LIKED、DATE_POSTED
locationstring任意—地域で絞り込むための ISO 3166-1 alpha-2 国コード(例:US、GB)
maxItemsnumber任意無制限実行全体で返す投稿の最大数
includeSearchKeywordsboolean任意false各投稿に一致した検索キーワードのフィールドを追加します
customMapFunctionstring任意—各出力オブジェクトを変換する JavaScript 関数

ワークフロー

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

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

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

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

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

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

Apify MCP が利用できる場合:

Tool: apify:run-actor
Actor: "apidojo~tiktok-scraper"
Input:
{
  "keywords": ["tag1", "tag2"],
  "maxItems": 100
}

REST API を使用する場合:

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

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 件:TikTok でハッシュタグが禁止されているか、スペルが間違っている可能性があります。別の表記を試してください。
  • 結果が 20 件未満:ハッシュタグが非常にニッチな可能性があります。ユーザーに伝え、取得できたデータを返してください。
  • ハッシュタグ間で動画 ID が重複する場合:videoId フィールドで重複を除去します。

出力形式

# TikTok Video Dataset: #<hashtag>
Videos collected: N | Hashtags queried: N

| Video ID | Author | Caption (truncated) | Views | Likes | Comments | Shares | Posted |
|----------|--------|---------------------|-------|-------|----------|--------|--------|
| ...      | ...    | ...                 | ...   | ...   | ...      | ...    | ...    |

Available fields: videoId, authorUsername, desc, playCount, diggCount, commentCount,
shareCount, createTime, videoUrl, musicTitle, hashtags, isAd

トラブルシューティング

禁止されたハッシュタグで結果が 0 件になる場合: TikTok によって制限されているハッシュタグがあります。上位カテゴリのタグを試してください。 実行に時間がかかる場合: TikTok は厳しくレート制限するため、1 回の実行につき maxItems: 200 が安全な上限です。

コメント