愛犬に「あたしをYoutubeでスターにして！」と言われたので、YoutubeAPIで分析してみた

はじめまして。
IT業界初心者なので言葉の定義が間違っている可能性があります。お気づきの点があればアドバイスいただけると助かります。

今年の5月に我が家に犬を迎え、撮影した動画の整理も兼ねてYoutubeをはじめてみました。
はじめるにあたりいろいろな動画をチェックしたのですが、個人の気づきとしては、、、

- 「Youtubeで生計立てられるんじゃないの？」と思うくらい人気の動物系Youtuberがいる
- 再生回数と動画のクオリティには、大きな関係はなさそう<br>(当たり前かもしれませんが、再生回数100万回超えの動画が、再生回数1万回の動画にくらべて、クオリティが極端に高いわけではない)

という感じで興味深かったので、YoutubeAPIを使って分析することにしました。

## 分析対象
我が家では[ウェルシュ・コーギー](https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BB%E3%82%B3%E3%83%BC%E3%82%AE%E3%83%BC)という犬種を飼い始めました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522259/36fa63b6-0d1a-e8f9-0604-70f227097fb9.jpeg" width="360">

※ かわいいかわいい愛犬のYoutubeは[こちら](https://youtu.be/2e1nho4cfmU)！

自分のYoutubeに関連した分析を行いたいので、コーギーに関連する動画ならびにYoutuberを分析対象とします。

## 今回の記事の対象
今回の記事は以下の人を対象に書いています。

- 単にコーギーに関する動画の再生回数に興味がある人
- Pythonにさわったことがあり、YoutubeAPIで何ができるか気になる人

## 簡単な結論
残念ながら、YoutubeAPIはあまり万能ではなく、分析できる内容が非常に限られてしまいました。まずは「できたこと」を一通り解説します。

## できたこと
### できたこと 1
Search functionを用いて人気の動画・チャンネルの情報を検索できます。
詳細・コードは[YoutubeAPIのリファレンス](https://developers.google.com/youtube/v3/docs/search/list?hl=ja&apix=true#try-it)と[Youtube Data APIを使ってPythonでYoutubeデータを取得する](https://qiita.com/g-k/items/7c98efe21257afac70e9)を参考にしてください。

今回はq='コーギー'、order='viewCount' と指定したので、検索語句コーギーにヒットする動画を再生回数の多い順に取得することに成功しました。


**なお、1000件の動画情報を取得しようと試みましたが、Youtube APIの仕様によりできませんでした。**
(950件は取得できました。)
また、おおむね再生回数が多い動画が表示されますが、検索するたびに結果が変わります。私が調査した際には、900番目から950番目には再生回数100回以下の動画が多く存在していました。私も再生回数100回以上の動画を投稿しているのですが表示されなかったので、残念ながら検索結果を過度に信頼することはできません。


### できたこと 2
videos functionを用いて、videoIdを指定して動画の情報を取得することができます。
詳細は[こちら](https://developers.google.com/youtube/v3/docs/videos/list?hl=ja&apix=true#try-it)のYoutube Data APIのリファレンスを確認ください。

[Youtube Data APIを使ってPythonでYoutubeデータを取得する](https://qiita.com/g-k/items/7c98efe21257afac70e9)では、「できたこと 1」の手法で多くの動画の基本情報を取得し、ここで取得したvideoIdを用いて再生回数やいいねの数を取得しています。

**なお、videos functionでチャンネルIDを指定することはできません。**
あるチャンネル(たとえばHIKAKINとか)のすべての動画の情報を取得したいと考えたとしても、取得する方法がありません。
~~ただの実力不足かもしれませんが。。~~

### できたこと 3
channels functionを用いて、Idを指定してチャンネルの情報を検索することができます。
詳細は[こちら](https://developers.google.com/youtube/v3/docs/channels/list?hl=ja)のYoutube Data APIのリファレンスを確認ください。

また、チャンネルIdを指定することでチャンネルの総再生回数・総いいねの数 等を取得できる関数(以下)を作成しました。


```Python
#channelIdを入力することで、そのチャンネルの再生回数やいいね数を取得する関数を作成
def channel_statistics(id):
    statistics = youtube.channels().list(part = 'statistics', id = id).execute()['items'][0]['statistics']
    return statistics

df_static = pd.DataFrame(list(df_channel['channelId'].apply(lambda x : channel_statistics(x))))

df_channel_output = pd.concat([df_channel,df_static], axis = 1)

```

## 分析結果
上述した通り分析内容は限られ、結果も頑健ではありませんが、~~せっかく調べたので、~~分析結果も公表します。

### コーギー市場は、もはや「コーギー犬ノエさん」の一人勝ち
再生回数が多い動画の情報を950件取得し、よく再生されている上位10チャンネルを動画のアップロード年ごとに比較してみました。
結果、2018年までは群雄割拠の状況でしたが、2019年にすい星のごとく「コーギー犬ノエさん」が現れ、2019年・2020年は2位に圧倒的大差をつけていることがわかります。

![channel_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522259/84cd48a1-7f0c-279f-ac48-35c10120f740.png)



### 動画をたくさん上げるだけでは、総再生回数はあまり伸びない
「2位に圧倒的大差をつけたノエさんが、動画をもっとも投稿しているのでは？」と考え、上位10チャンネルの総再生回数と総動画投稿数を比較しました。
結果、総再生回数は「コーギー犬ノエさん」がトップでしたが、総動画投稿数は別のチャンネルがトップでした。

![viewCount_channel.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522259/62f73477-4365-4aa4-22db-c647e7a2ff25.png)

![videoCount_channel.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522259/6aae953c-231e-e8b8-18c4-8feb0b01478c.png)


### 再生回数といいねの数には相関があるが、よくないねの数にも同様に相関がある
皆さんの推測通り、動画の再生回数が増えるといいねの数が増えます。相関係数は0.87です。

![like_view.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522259/0c910622-f4f1-a95c-ccc9-45dc5afd4772.png)


少々意外だったのは、動画の再生回数が増えるとよくないねの数も増えてしまい、相関係数も0.82と、いいねの数と再生関数の相関係数と近いです。

![dislike_view.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522259/04c5c03a-bdea-cdf6-6f00-c84a89265995.png)


## おわりに
コーギー犬ノエさんのYoutubeは、北海道&子供&コーギー2匹でとても面白い！
ちなみにほぼ毎日動画を投稿されてます。

動物系Youtuber、厳しい世界なんですね。。。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522259/4e2e1a70-a7ea-6e78-fcc1-189fc29b7d4a.jpeg" width="360">
※ うちの愛犬も、「しょうがないわん。そんなに頑張りたくないわん。」と、人気Youtuberになることを諦めてくれました！