はじめに
タイトルの通り、Google Colaboratory上でYouTube Data APIを使用し、YouTubeのchannnelIDからそのチャンネルの情報を取得しました。その備忘録を兼ねた記事です。
要件
複数のchannnelIDを持ったリストから、それぞれの「チャンネルのタイトル」「チャンネル登録者数」を出力するコードを作成します。
準備
YouTube Data APIを使用するにはAPIキーが必要になります。APIキーの入手方法については以下の記事が参考になります。
また、調べたいチャンネルのchannnelIdも必要です。調べる方法は様々あります。1つの例として私の以前の記事が参考になるかと思います。
コード
Google Colaboratory上のセルに以下のコードを記述します。その後はコードの内容を適宜書き換えて実行すればOKです。
from apiclient.discovery import build
API_KEY = '<取得した API キー>'
YOUTUBE_API_SERVICE_NAME = 'youtube'
YOUTUBE_API_VERSION = 'v3'
CHANNEL_ID_LIST = [
'<取得したいチャンネルのchannelId 1>',
'<取得したいチャンネルのchannelId 2>',
…
'<取得したいチャンネルのchannelId N>',
]
youtube = build(
YOUTUBE_API_SERVICE_NAME,
YOUTUBE_API_VERSION,
developerKey=API_KEY
)
response = youtube.channels().list(part='snippet,contentDetails,statistics', id=",".join(CHANNEL_ID_LIST)).execute()
for item in response['items']:
id = item['id']
snippet = item.get('snippet')
statistics = item.get('statistics')
title = snippet['title']
subscriberCount = statistics.get('subscriberCount')
print(f'id : {id}, title : {title}, subscriberCount : {subscriberCount}')
実行に成功すると以下の形で取得したい情報が指定したchannelIdの数だけ出力されます
id : <channelId>, title : <チャンネルのタイトル>, subscriberCount : <チャンネル登録者数>
ちなみに、youtube.channels().list
という関数の部分。この関数に渡す引数の意味についてはYouTube Data APIのリファレンスが参考になります。
また、Google Colaboratoryでは上記のコードを実行するためにgoogle-api-python-client
をインストールする必要はないです。
どうやらgoogle-api-python-client
が既にインストールされているようです。
以上です。
参考