「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の動作確認を説明しました。