Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのPyTubeライブラリでYouTube動画をダウンロードする方法

「YouTube」をご存知ない方はいないでしょう。世界最大級の動画共有サイトであり、特にインドでは圧倒的な人気を誇ります。PythonのPyTubeライブラリでYouTube動画をダウンロードする方法 気に入った動画を後からオフラインで視聴したいと思い、ダウンロードを試みたことはありませんか?多くの人は「YouTubeダウンローダー」と呼ばれるアプリを利用しますが、無料版では機能制限があったり、有料だったりと、何かと不便なものです。

そこで本記事では、自分でプログラムを作成してYouTube動画をダウンロードする方法を紹介します。Pythonの「pytube」というライブラリを使えば、驚くほど簡単に実現できます。pytubeは、Web上から動画をダウンロードするための機能を提供するライブラリです。

PyTubeのインストール

pytubeはPythonの標準ライブラリではないため、別途インストールが必要です。pipを使えば、次のコマンド一つで簡単に導入できます。

pip install pytube
Collecting pytube
Downloading https://files.pythonhosted.org/packages/af/56/c9b484e93e1f3a4ef6aefbc1e68258121831007938556daf968ab4519c9c/pytube-9.3.5-py3-none-any.whl
Installing collected packages: pytube
Successfully installed pytube-9.3.5

動画をダウンロードする

これから見ていく通り、pytubeを使ったYouTube動画のダウンロードはとてもシンプルです。

まずはYouTubeクラスをインポートしましょう。

from pytube import YouTube

次に、ダウンロードしたい動画のURLを指定します。お好みの動画を選んでみてください。

yt = YouTube('https://www.youtube.com/watch?v=-KnAZcXzxRA')

pytubeのAPIは、直感的に情報へアクセスできる点が魅力です。例えば、動画のタイトルは次のように取得できます。

>>> yt.title
'Redmi Note 7 Fake 48MP Camera? Explained 🔥🔥🔥'

サムネイル画像のURLも同様に取得可能です。

>>> yt.thumbnail_url
'https://i.ytimg.com/vi/-KnAZcXzxRA/default.jpg'

ダウンロード可能なフォーマットを確認する

続いて、ダウンロードするメディア形式を選択します。pytubeモジュールでは、以下のように動画や音声のさまざまなストリーム(解像度・コーデック・ビットレートなど)を一覧で確認できます。

>>> yt.streams.all()
[<Stream: itag="22" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.64001F" acodec="mp4a.40.2">,
 <Stream: itag="43" mime_type="video/webm" res="360p" fps="30fps" vcodec="vp8.0" acodec="vorbis">,
 <Stream: itag="137" mime_type="video/mp4" res="1080p" fps="30fps" vcodec="avc1.640028">,
 ...(中略:360p/240p/144pなどの映像ストリーム、128kbps/160kbpsなどの音声ストリームが多数表示されます)...,
 <Stream: itag="251" mime_type="audio/webm" abr="160kbps" acodec="opus">]

ここでは、最初のストリームを取得してみましょう。

>>> stream = yt.streams.first()
>>> stream
<Stream: itag="22" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.64001F" acodec="mp4a.40.2">

ダウンロードを実行する

download()メソッドに保存先のパスを渡せば、指定した場所に動画がダウンロードされます。

>>> stream.download('f:/')
'f:/Redmi Note 7 Fake 48MP Camera Explained 🔥🔥🔥.mp4'

引数を省略して実行した場合は、カレントワーキングディレクトリに保存されます。

>>> stream.download()
'C:\\Python\\Python361\\Redmi Note 7 Fake 48MP Camera Explained 🔥🔥🔥.mp4'

実際に指定した保存先フォルダを開いてみると、動画ファイルが正しくダウンロードされていることを確認できます。

PythonのPyTubeライブラリでYouTube動画をダウンロードする方法

このように、pytubeを使えばわずか数行のコードでYouTube動画を自由にダウンロードできます。外部のダウンローダーアプリに頼らず、Pythonスクリプトとして自動化できるのも大きなメリットです。ぜひ一度試してみてください。

  1. YouTube動画を無料でオフライン保存!おすすめの5つのダウンロード方法

    YouTubeは、映画の視聴、お気に入りの音楽鑑賞、ニュースチェックなど、あらゆる動画コンテンツを楽しめる世界最大級の動画共有プラットフォームです。実は、YouTubeの動画はダウンロードして保存しておけば、インターネットに接続していない環境でも後から自由に視聴できます。ここでは、YouTube動画を無料でダウンロードできる5つの方法を、それぞれの手順と特徴とともに詳しくご紹介します。YouTube動画を無料でダウンロードできる5つの方法1. YouTube Downloader(オンラインダウンロードサイト)最も手軽なのが、オンラインのダウンロードサイトを利用する方法です。まず、ダウンロード

  2. iPhoneにYouTube動画をダウンロードしてカメラロールに保存する方法【脱獄不要】

    美しいデザインと優れたパフォーマンスを誇るiPhoneですが、時にはその制限がユーザーをイライラさせることもあります。例えば、iPhoneでYouTube動画を見ていて、それをカメラロールに保存したいと思っても、標準機能では実現できません。もどかしく感じたことはありませんか?実際のところ、YouTube Premium(旧YouTube Red)の有料サブスクリプションを受け入れない限り、iPhoneにYouTube動画を保存するのは一筋縄ではいきません。有料プランでは広告なしで動画を視聴でき、オフライン再生用のダウンロード機能も利用できます。しかし、ダウンロードした動画にアクセスできるのはY