scraping-youtube-playlist について
scraping-youtube-playlistは、YouTubeのプレイリストから動画メタデータを収集し、後続の分析に使えるスキルです。URLまたは検索キーワードを指定でき、取得件数やJavaScriptによる出力変換も設定できます。
主な機能
- 01URLまたはキーワードで取得
- 02動画とチャンネルのメタデータ取得
- 03取得件数の制限
- 04JavaScriptによる出力変換
- 05CSVまたはJSONで出力
活用シーン
- 01プレイリストの動画データ収集
- 02分析用のプレイリストメタデータ整理
MCP 対応
Apify MCPが利用できる場合、必要な入力を指定して`apidojo~youtube-playlist-scraper` Actorを呼び出します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill scraping-youtube-playlistインストール後、Claude Code で/scraping-youtube-playlistを入力して読み込まれたか確認します。
詳細
YouTube プレイリストのスクレイピング
生データの収集です。特定のユースケースは想定せず、後続の分析に使える完全なデータセットを返します。
入力
| パラメーター | 型 | 必須 | デフォルト | 備考 |
|---|---|---|---|---|
startUrls | array | 任意 | [] | YouTube プレイリストの URL |
keywords | array | 任意 | [] | プレイリストを検索するためのキーワード |
gl | string | 任意 | us | 国コード(例:US) |
hl | string | 任意 | en | 言語コード(例:en) |
sort | string | 任意 | r | 並べ替え順 |
maxItems | number | 任意 | 無制限 | 返す動画の最大数 |
customMapFunction | string | 任意 | — | 各出力オブジェクトを変換する JavaScript 関数 |
実行方法
run_actor.js を使用する(推奨)
# Quick answer (table)
node scripts/run_actor.js --actor "apidojo~youtube-playlist-scraper" --input '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}'
# Save as CSV
node scripts/run_actor.js --actor "apidojo~youtube-playlist-scraper" --input '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}' --output results.csv --format csv
# Save as JSON
node scripts/run_actor.js --actor "apidojo~youtube-playlist-scraper" --input '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}' --output results.json --format json
REST API を使用する場合
curl -X POST "https://api.apify.com/v2/acts/apidojo~youtube-playlist-scraper/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls": ["https://www.youtube.com/playlist?list=PLABCDE12345"], "maxItems": 50}'
Apify MCP が利用可能な場合:
Apify MCP の call_actor ツールを使用し、actor に apidojo~youtube-playlist-scraper を指定して、上記の入力を渡します。
出力フィールド
| フィールド | 型 | 説明 |
|---|---|---|
type | string | 常に video |
id | string | 動画 ID |
title | string | 動画のタイトル |
url | string | 動画の URL |
description | string | 動画の説明 |
duration | number | 再生時間(秒) |
views | number | 視聴回数 |
likes | number | 高評価数 |
status | string | 公開状況 |
channel.id | string | チャンネル ID |
channel.name | string | チャンネル名 |
channel.url | string | チャンネルの URL |
keywords | array | 動画のタグ/キーワード |
isLive | boolean | ライブ配信フラグ |
isPrivate | boolean | 非公開フラグ |
thumbnails | array | サムネイルオブジェクト |
エッジケース
- 非公開のプレイリスト:結果は 0 件です。プレイリストが非公開であることをユーザーに伝えてください。
- 削除されたプレイリスト:エラーまたは空の結果が返されます。URL を確認してください。
- 非常に大きなプレイリスト:
maxItemsを指定して結果を制限し、実行時間が長くならないようにしてください。 - ミックスプレイリスト(YouTube が自動生成):ユーザーが作成したプレイリストとは挙動が異なる場合があります。
コメント
Markdown 対応