youtubeDataAPIでキーワードから関連する再生リストを取得する

開発環境

環境の作成

uvで環境を作成します

uv venv -p 3.12
.venv\Scripts\activate

次に必要なライブラリをインストールします。

uv pip install --upgrade google-api-python-client

DataAPIを使った再生リストを取得

まずはsdkの初期化を行います

youtube = build(
    API_SERVICE,           # "youtube"
    API_VERSION,           # "v3"
    developerKey=api_key,  # API キーを渡す
    cache_discovery=False
)

次にキーワードから再生リストを取得します。

res = youtube.search().list(
    part="snippet",        # 必要な情報(ここではスニペットのみ)
    q=query,               # 検索キーワード
    type="playlist",       # 再生リストのみを対象
    maxResults=50,         # 1 回に取得する件数の上限(最大 50)
    regionCode="JP",       # 日本語圏の結果に限定(任意)
    pageToken=page_token,  # 次ページを指すトークン(ページネーション用)
).execute()

動画のidなどを取得する場合は以下のように処理を行います

for item in res["items"]:
    pid = item.get("id", {}).get("playlistId")
    if pid:
        yield pid