YouTubeDataAPIv3をPythonから使って最近の動画傾向を調べてみた
はじめに
2020年はコロナ特需でYouTubeは大変賑わいましたね。
そこで、特にプログラミングや機械学習に関してYouTube動画の現状を知りたく、
YouTubeDataAPIv3を用いて簡単に調べてみました。
やったこと
- Youtube Data API v3 を pythonから呼び出して公開されている動画のメタ情報を取得
- 閲覧数やコメント数、いいね数などを簡単に基礎集計
- 動画タイトルの共起ネットワークをGephiで確認
ソースコード
ざっくりJupyterNotebookに記載しGitHubにアップしました。
YoutubeAnalysis/youtube_basic_analysis.ipynb at master · KenshoFujisaki/YoutubeAnalysis · GitHub
※ソースコードにおけるYouTube検索キーワードは「プログラミング」としてます。
結果
「機械学習」に関するYouTube動画
※色分けはGephi上でモジュラリティクラスを適用してます。
- メジャーなライブラリ(tensorflowやscikit-learn, OpenCVなど)やメジャーな手法(ランダムフォレストやSVM、決定木など)は、おおよそYouTubeにもアップされている。
- サード製ツール(DataRobotやSony Neural Console、RapidMinerなど)も結構アップされている。
- 細かいアルゴリズム手法はあまり見当たらない。
「プログラミング」に関するYouTube動画
- やっぱり初心者向け動画が多め
- あとスクール系も多い
- 言語としては Python, JavaScript, Ruby, JAVA, GAS,...という順位
- ここ2年くらい2019年くらいからすごい伸びている
- 2020/10が凹んでいるのは不思議
- 2020/12直近多いのは、過去動画を上げ直しているから?
- 共起ネットワークでみても、やはり主な動画は初心者や入門者向けで、複雑なものは少なめ。
- そもそもプログラミング勉強すべきか?とか、どう勉強する?とか、転職にプログラミング役に立つ?とかそういうフワッとしたテーマの動画が多め。
つまづいたポイント
GephiにおけるCSVファイル読み込みが少しクセあり
- Gephi0.9.2を起動する
- GephiのMacインストールはこちらを参考: https://qiita.com/seisantaro/items/1836e6a192c904b83962
- 日本語サイトからは旧バージョンしかダウンロードできず、当方環境では起動失敗したので注意*1
- 「ファイルを開く」から、エッジ情報のCSVを開く
- 次に「Import spreadsheet」からノード情報のCSVを「Append to existing workspace」として開く
- Gephi0.9.2を起動する
おわりに
今回は試せなかったのですが、
YouTubeDataAPIv3ではチャンネル情報の取得やサブスクリプション情報の取得もできるみたいですので、今度それらを試してみようと思います。
追記 2020/12/31
チャンネル登録(サブスクリプション)のネットワーク可視化も行ってみました。
※ソース/ノートブックはこちら: YoutubeAnalysis/youtube_channel_analysis.ipynb at master · KenshoFujisaki/YoutubeAnalysis · GitHub
※サブスク情報を非公開のチャンネルは取得できていません。
「機械学習」に関する動画をアップしているチャンネルのサブスク関係
「プログラミング」に関する動画をアップしているチャンネルのサブスク関係
プログラミングに関する動画はやっぱりメジャーどころのYouTuberさんが発信しているみたいですね。 けど、こうやって可視化すると、メジャーみたいだけれど知らないチャンネルを知れて面白いです。
さて、2020年もあと少し。
追記 2021/01/02
Gephiで時系列ネットワークを扱えたため、いくつか動画にしてみました。
インポートするCSVファイルでカラム名を'timeset'と設定すると時系列で可視化できます*2。