scraping-tiktok-videos-by-hashtag について
Apify の TikTok scraper を実行し、ハッシュタグ、キーワード、指定した TikTok URL の動画メタデータを収集するスキルです。
主な機能
- 01キーワードまたは指定 URL で検索
- 02関連度、いいね数、投稿日で並べ替え
- 03国による結果の絞り込み
- 04動画メタデータと反応指標の取得
- 05件数制限と出力変換に対応
活用シーン
- 01ハッシュタグやキーワードに関連する動画の収集
- 02地域別検索結果の動画反応の比較
- 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 サーバーがインストールされていること
入力
| パラメーター | 型 | 必須 | デフォルト | 備考 |
|---|---|---|---|---|
startUrls | array | 任意 | [] | TikTok の URL — ユーザープロフィール、ハッシュタグ、音楽ページ、検索、場所 |
keywords | array | 任意 | [] | 投稿を見つけるための検索キーワード/語句 |
sortType | string | 任意 | RELEVANCE | キーワード検索結果の並び順:RELEVANCE、MOST_LIKED、DATE_POSTED |
location | string | 任意 | — | 地域で絞り込むための ISO 3166-1 alpha-2 国コード(例:US、GB) |
maxItems | number | 任意 | 無制限 | 実行全体で返す投稿の最大数 |
includeSearchKeywords | boolean | 任意 | false | 各投稿に一致した検索キーワードのフィールドを追加します |
customMapFunction | string | 任意 | — | 各出力オブジェクトを変換する 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 が安全な上限です。
コメント
Markdown 対応