【Python】YouTubeコメントのダウンロード[API不要]

【Python】YouTubeコメントのダウンロード[API不要] プログラミング

「YouTubeのコメントを取得したい」
「動画のコメントを一括でダウンロードしたい」
「APIを使わずにコメントをPythonで抽出したい」

このような場合には、youtube-comment-downloaderがおススメです。
この記事では、youtube-comment-downloaderについて解説しています。

本記事の内容

  • youtube-comment-downloaderとは?
  • youtube-comment-downloaderのシステム要件
  • youtube-comment-downloaderのインストール
  • youtube-comment-downloaderの動作確認

それでは、上記に沿って解説していきます。

youtube-comment-downloaderとは?

youtube-comment-downloaderとは、Pythonスクリプトです。
機能としては、YouTubeからコメントをダウンロードすることに特化しています。

コマンドラインツールとして利用します。
Python APIでの利用は、想定されていないようです。

なお、youtube-comment-downloaderではAPIを利用していません。
YouTube Data APIと呼ばれるモノですね。

そのため、利用制限もありません。
つまり、無料で使い放題ということです。

以上、youtube-comment-downloaderの説明でした。
次は、youtube-comment-downloaderのシステム要件を確認します。

youtube-comment-downloaderのシステム要件

現時点(2021年11月)でのyoutube-comment-downloaderの最新バージョンは、0.1となります。
最新と言っても、バージョン管理は行われていないようです。

また、100%Pythonで開発されています。
そのため、どんなOSでも問題ないだろうと思われます。

つまり、サポートOSに関しては以下を含むクロスプラットフォーム対応ということです。

  • Windows
  • macOS
  • Linux

また、サポート対象となるPythonのバージョンは以下となります。

  • Python 2系
  • Python 3系

要するに、バージョン依存するようなコードはないということでしょう。
ここまでを見ると、Pythonさえ動けばOKと言えます。

ただ、公式には次のような但し書きがあります。

「youtube-comment-downloaderは、Pythonの仮想環境にインストールしてね」
ということです。

Windowsなら、IDEにPyCharmを使えば簡単に仮想環境を利用できます。
プロジェクト(今回ならyoutube-comment-downloader専用)毎に仮想環境となります。

また、次の記事のようにコマンドでも簡単に仮想環境を利用できます。
GUIのない Linuxサーバーなら、こちらが一般的となるでしょう。

以上、youtube-comment-downloaderのシステム要件を説明しました。
次は、youtube-comment-downloaderをインストールします。

youtube-comment-downloaderのインストール

まずは、現状のインストール済みパッケージを確認しておきます。

>pip list 
Package                    Version 
-------------------------- --------- 
pip                        21.3.1 
setuptools                 58.5.2 

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、youtube-comment-downloaderのインストールです。
youtube-comment-downloaderのインストールは、以下のコマンドとなります。

pip install https://github.com/egbertbouman/youtube-comment-downloader/archive/master.zip

なお、youtube-comment-downloaderはPyPIには登録されていません。
そのため、上記のようにgithub上のソースを指定しています。

インストール自体は、すぐに終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list 
Package                    Version 
-------------------------- --------- 
certifi                    2021.10.8 
charset-normalizer         2.0.7 
idna                       3.3 
pip                        21.3.1 
requests                   2.26.0 
setuptools                 58.5.2 
urllib3                    1.26.7 
youtube-comment-downloader 0.1

以上、 youtube-comment-downloaderのインストールについて説明しました。
最後は、 youtube-comment-downloaderの動作確認を行います。

youtube-comment-downloaderの動作確認

まずは、ヘルプを確認。

>youtube-comment-downloader --help 
usage: youtube-comment-downloader [--help] [--youtubeid YOUTUBEID] [--output OUTPUT] [--limit LIMIT] [--language LANGUAGE] [--sort SORT] 
Download Youtube comments without using the Youtube API 
optional arguments: 
  --help, -h            Show this help message and exit 
  --youtubeid YOUTUBEID, -y YOUTUBEID 
                        ID of Youtube video for which to download the comments 
  --output OUTPUT, -o OUTPUT 
                        Output filename (output format is line delimited JSON) 
  --limit LIMIT, -l LIMIT 
                        Limit the number of comments 
  --language LANGUAGE, -a LANGUAGE 
                        Language for Youtube generated text (e.g. en) 
  --sort SORT, -s SORT  Whether to download popular (0) or recent comments (1). Defaults to 1

「YOUTUBEID」は、次のモノです。

この動画には、現状で14件のコメントがあります。

では、この動画のコメントを取得してみましょう。

>youtube-comment-downloader -y MJhuiMvH85E -o MJhuiMvH85E.text 
Downloading Youtube comments for video: MJhuiMvH85E 
Downloaded 14 comment(s) 
[2.39 seconds] Done!

14件のコメントが取得できました。
同じディレクトリ上には、MJhuiMvH85E.textが作成されています。

MJhuiMvH85E.text

各行は、JSON形式で出力されています。
しかし、ファイル全体としてはJSON形式ではありません。

JSONなら「,」となるべきところが、「改行」となっています。

そのため、ファイル全体としてはJSONにはなりえません。
若干、この部分が使いづらいですね。

でも、こんなに簡単にコメントが取得できるのは素晴らしいです。

ちなみに、2860件のコメントも問題なく取得できました。
時間も2分かかっていません。

漏れもありません。

以上、youtube-comment-downloaderの動作確認を説明しました。

タイトルとURLをコピーしました