スライドショー

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

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

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

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

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

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

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

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

PythonとYouTube

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

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の動画をダウンロードすることが出来ましたね。

まとめ

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

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

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

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

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

ryo

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説