トーク:YouTube

提供:エケペディア
2020年11月8日 (日) 12:09時点におけるRiyosya0922 (トーク | 投稿記録)による版 (YouTube API サンプルコード)
ナビゲーションに移動 検索に移動

@管理者殿、BOT管理者殿、関係者殿各位

Youtubeチャンネルのタイトル、登録者数、再生回数の取得するサンプルコードを記載しましたので、運用時の参考になれば幸いです。
ご確認後、削除(白紙化)のほど、お願い致します。
(小生は、Web系のエンジニアではないので、Pythonで失礼します。)


APIのインストール:

pip install google-api-python-client


Pythonのコード:

from googleapiclient.discovery import build

# Youtube Data API v3のAPIキーを取得が必要
# https://console.cloud.google.com/
YOUTUBE_API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxx'

def youtube_channel_detail(channel_id, api_key):
    api_service_name = 'youtube'
    api_version = 'v3'
    youtube = build(api_service_name, api_version, developerKey=api_key)
    search_response = youtube.channels().list(
        part='snippet,statistics',
        id=channel_id,
    ).execute()

    return search_response['items'][0]


def main():
    # 松井珠理奈さんのチャンネルは、チャンネルの登録者数を非公開にしているため、テストケースとして利用
    d = youtube_channel_detail('UCA6XWTTtC2f88M2xpmhLRBg', YOUTUBE_API_KEY)

    # プロパティの参考ページ
    # https://developers.google.com/youtube/v3/docs/channels?hl=ja

    # チャンネルのタイトルを取得
    title = (d['snippet']['title'])
    
    # チャンネルの登録者数(万人)を取得
    # チャンネルの登録者数を非公開を判定
    if (d['statistics']['hiddenSubscriberCount']):
        subscriberCount = "非公開"
    else:
        subscriberCount = str(int(d['statistics']['subscriberCount']) / 10000)

    # チャンネルの再生回数を取得
    viewCount = (d['statistics']['viewCount'])

    # チャンネルのタイトルを表示
    print(title)
    # チャンネルの登録者数(万人)を表示
    print(subscriberCount)
    # チャンネルの再生回数を表示
    print(viewCount)