【Python入門】YouTubeの動画情報を取得しよう

この記事ではPythonでYouTubeの動画を操作する方法について解説します。

Googleの公式APIは準備に時間がかかりますが、pytubeを使えばすぐにPythonでYouTubeにアクセスすることが出来ます。

PythonとYouTubeの関係について知りたい。
PythonでYouTubeの動画を扱いたい。

今回の記事ではこのように思っている方に向けて、

【基礎】PythonとYouTubeについて
【基礎】YouTube Data APIとは
【実践】PythonでYouTubeの動画を取得する方法

について解説をしていきます。

PythonでYouTubeにアクセスしてみましょう。

PythonとYouTube

本題に入る前に、PythonとYouTubeの関係について解説します。

YouTubeのシステムではPythonが使われているのをご存知でしょうか。

もちろんPythonだけで構成されているわけではありませんが、PythonはYouTubeの中でも重要な位置にいます。

Pythonの学習では味気のないサンプルコードばかりで実感が湧きませんが、実際に動くものに触れるのはとても重要ですね。

YouTube Data APIとは

YouTubeは公式でもAPIを提供しています。

YouTubeのAPIでは、チャンネルの情報再生リストの情報動画の情報検索結果を取得することが出来ます。

このYouTube APIを使えば、アップロードした動画の再生数などの情報を取得してデータ分析をするための準備をすることが出来ます。

しかし、APIの導入にはAPIキーの発行など、機能が豊富である分の手間がかかってしまいます。

そこで、今回はpytubeというサードパーティ製のパッケージを使っていきます。

PythonでYouTubeの動画を取得する方法

ここからはpytubeを使ってYouTubeの動画を取得してみましょう。

pytubeを使えば簡単に動画を取得することが出来ます。

ただしダウンロードする動画によっては法律に触れる恐れがあるので自分でアップロードした動画にのみ適用してみてください。

pytubeをインストールする

pytubeはサードパーティ製のパッケージなのでpipでインストールする必要があります。

このコマンドを実行してインストールしましょう。

pip install pytube

pytubeで動画をダウンロードする

それでは早速pytubeで動画をダウンロードしてみましょう。

こちらのコードをご覧ください。

from pytube import YouTube

video = YouTube('YouTubeの動画アドレス')
for itag_list in video.streams.all():
    print(itag_list)
stream = video.streams.get_by_itag(160)
stream.download()

このコードを実行すると、指定したYouTubeの動画アドレスの動画をダウンロードすることが出来ます。

まずはpytubeから使う機能を指定してimportをしています。

次にインスタンスを作ってfor文を回しています。

for文ではvideo.streams.all関数を実行することでファイル形式を一覧で見ることが出来ます。

そのファイル形式に付属しているitagを、video.streams.get_by_itag関数に渡すことでその形式でダウンロードすることが出来ます。

最後のstream.download関数では何も引数を渡さなければ現在のディレクトリに、引数にパスを渡せばその場所にダウンロードされた動画を配置します。

とても簡単にYouTubeの動画をダウンロードすることが出来ましたね。

まとめ

この記事ではPythonとYouTubeの関係やYouTube Data APIについて、pytubeで動画をダウンロードする方法についてを解説しました。

PythonはYouTubeのシステムでも使われるほど、身につければ強力な武器になる言語です。

pytubeで動画をダウンロードする場合は著作権に気をつけましょう。

より高度な情報を取得したい方はぜひ、YouTube Data APIについても調べてみてください。

なお、今Pythonを学習している方は以下の記事もどうぞ。

はじめてPythonを使う方でもわかりやすいように、Pythonでできることやその学習法などを中心にまとめています。

復習にも使えると思いますので、ぜひ一度ご覧になってみてくださいね。

Python 入門完全攻略ガイド

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

侍テック編集部

侍テック編集部