見出し画像

Youtube Data API を使って Youtube を分析してみた

いかがお過ごしでしょうか、分析屋の大原です。

突然ですが、皆さん Youtube は利用していますでしょうか?
エンターテイメントが主ですが、娯楽目的以外でも情報収集や学習なんかでも活用されていますね。
また昨今ではデジタルマーケティング施策の一つとして「動画の活用」が当たり前の時代となっており、個人利用以外でもYoutubeを効果的に使う事にニーズが集まってきている様に思います。

今回はそんなことから興味もあり、Youtube Data API について調べたので紹介します。

【はじめに】

本記事では、『Youtube Data API の “Channels” リソースを使ったデータ取得』(と軽い分析) を紹介しています。他のリソースを使った分析は…需要があれば紹介します。

【Youtube Data API の紹介】

 まずは、YouTube  Data API とは結局何か、という所からですが、
公式サイトを見ると以下の事が書いてあります。

  • YouTube Data API を使用して、アプリにさまざまな YouTube 機能を追加

  • 特定の検索キーワード、トピック、地域、公開日などと一致する動画を検索

まあ要は Youtube の操作を広くサポートしている API という事ですね。
Youtube Data API を使う事でかなり色々な事が出来る様です。


YouTube Data API  |  Google Developers


【テーマ決め】

今回の紹介の題材として「ANYCOLOR」の運営する Vtuber グループ「にじさんじ」の所属ライバーのデータを取得し、簡単なグラフにする事にします。

言語は Python、環境は Jupyter notebooks を使用します。

【準備:情報収集】

まずは各々の情報を集めましょう。
にじさんじ公式サイトのタレント一覧にアクセスします。
https://www.nijisanji.jp/talents

個々のページにYoutubeチャンネルのリンクが記載されているので、名前とURLをスプレッドシートにまとめます。

ここで注目するのが各チャンネルのURLの末尾です。

UCから始まる最後の部分は一意のチャンネルIDとなっており、YoutubeDataAPIでもこのIDを用いそれぞれのチャンネルデータを取得します。今回はこれをCSVでエクスポートして使用します。

【準備:APIキー作成】

Youtube Data API を利用するには、Google Cloud Platform にアクセスしYoutube Data API のAPIキーを入手する必要があります。

Google Cloud Platform には有料のサービスも沢山ありますが、Youtube Data API は無料で利用できるようです。

それではAPIキーを作成していきましょう。
以下に作成手順を記載します。


1.Google Cloud Platform にアクセス

2.”APIとサービス” から “ライブラリ” を選択

3.「Youtube Data API」を検索

4.製品の詳細から「有効にする」をクリック

5.APIを有効にした後、”APIとサービス” の “有効なAPIサービス”から Youtube Data API v3 を選択

6.「認証情報を作成」からAPIキーを作成

作成したキーは後で使うのでメモしておいてください。

【コーディング】

準備も整ったので、コードを書いていきます。
処理としては

1.csvからVtuberリストを抽出

2.”youtube_channel_detail” で人数分のデータをAPIから抽出

3.整理したデータを分析

【コード】-Python

import pandas as pd
from googleapiclient.discovery import build

#チャンネルデータを取得
def youtube_channel_detail(channel_id):
    
    api_service_name = 'youtube'
    api_version = 'v3'
    api_key = 'YOUR_API_KEY' #作成したAPIキーを入力
    
    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]

vtuber_list = pd.read_csv("vtuber_list.csv")

v_dic = {}
column=["name", "subscriber", "videoCount", "viewCount"]

for vtuber in vtuber_list.itertuples():
    code = vtuber.url

    #URLからチャンネルIDを切り出し
    d = youtube_channel_detail(code[32:])

    name = vtuber.name
    subscriber = int(d['statistics']['subscriberCount'])
    videoCount = int(d['statistics']['videoCount'])
    viewCount = int(d['statistics']['viewCount'])
    v_dic[vtuber.No] = [name,subscriber,videoCount,viewCount]

df = pd.DataFrame.from_dict(v_dic, orient="index", columns=column)
print(df)

【実行結果】-Python

      name  subscriber  videoCount  viewCount
1       える      424000        1775  102300397
2       静凛      372000        1485   62790720
3    渋谷ハジメ      157000        1927   29025153
4     鈴谷アキ      155000         920   15222007
5     月ノ美兎     1060000         768  310186779
..     ...         ...         ...        ...
95  朝日南アカネ      234000         571   47831821
96  北小路ヒスイ      258000         563   21403345
97   周央サンゴ      458000         644   41140052
98   東堂コハク      126000         228   12324048
99   西園チグサ      463000        1202   82444471

簡単に各チャンネルの情報が取得できました。

【データ分析】-Python

取得したデータを使って、グラフを作ってしてみましょう。
今回はあくまでYoutube Data API の紹介のおまけなので、簡単な散布図を作成します。

import matplotlib.pyplot as plt

x = df.subscriber
y = df.viewCount

fig, ax = plt.subplots()

ax.scatter(x,y)

ax.set_title('subscriber-viewCount')
ax.set_xlabel('subscriber')
ax.set_ylabel('viewCount')

参考までに、相関係数は 約 0.924 でした。当然といえば当然ですが、かなり強い相関ですね。

【コード】-Python

import numpy as np
coef = np.corrcoef(df.subscriber, df.viewCount)
print(coef)

【実行結果】-Python

[[1.         0.92681395]
 [0.92681395 1.        ]]

【まとめ】
今回はYoutubeDataAPIを使ってYoutubeのチャンネルデータを一括で取得し、分析しました。
職業としてユーチューバーが成り立ち、そうでなくても企業プロモーションとして大いに役立つコンテンツなので、分析する事で大いに役立つデータソースではありそうです。
取得できるリソースはチャンネルの情報以外にも沢山あるので、色々試して見ても面白いかもしれませんね。「こんな事を分析したら面白そう!」などあれば是非コメントください。

少しでも参考になったり、ご興味をもっていただけましたら「スキ」をよろしくお願い致します!

株式会社分析屋について

ホームページはこちら。

noteでの会社紹介記事はこちら。

【データ分析で日本を豊かに】
分析屋はシステム分野・ライフサイエンス分野・マーケティング分野の知見を生かし、多種多様な分野の企業様のデータ分析のご支援をさせていただいております。 「あなたの問題解決をする」をモットーに、お客様の抱える課題にあわせた解析・分析手法を用いて、問題解決へのお手伝いをいたします!
【マーケティング】
マーケティング戦略上の目的に向けて、各種のデータ統合及び加工ならびにPDCAサイクル運用全般を支援や高度なデータ分析技術により複雑な課題解決に向けての分析サービスを提供いたします。
【システム】
アプリケーション開発やデータベース構築、WEBサイト構築、運用保守業務などお客様の問題やご要望に沿ってご支援いたします。
【ライフサイエンス】
機械学習や各種アルゴリズムなどの解析アルゴリズム開発サービスを提供いたします。過去には医療系のバイタルデータを扱った解析が主でしたが、今後はそれらで培った経験・技術を工業など他の分野の企業様の問題解決にも役立てていく方針です。
【SES】
SESサービスも行っております。

この記事が参加している募集

やってみた