今日はYouTube Video Downloaderを自作してみます。
プロジェクトの紹介
YouTube Video Downloader は、YouTube からあらゆるタイプのビデオを高速かつシンプルで簡単な方法でダウンロードすることを目的としています。
ユーザーは、アプリケーションに貼り付ける必要があるYouTubeのビデオURLのリンクをコピーする必要があります。
その後、ユーザーはビデオをダウンロードするために、ダウンロードボタンをクリックする必要があります。
1. ライブラリ/モジュールのインポート
今回のプロジェクトでは、Tkinter
とpytube
モジュールの2つをインポートします。
pytubeモジュールは、YouTubeに関連する操作を処理するために使用されます。
1
2
|
import tkinter as tk
from pytube import YouTube
|
2. Tkinterウィンドウの作成
以下のコードでは、空白でカスタマイズされたTkinterアプリケーションのウィンドウを作成します。
もうこの基本的なコードには慣れたことでしょう。
window = tk.Tk()
window.geometry( "600x200" )
window.config(bg = "#EC7063" )
window.resizable(width = False ,height = False )
window.title( 'YouTube Video Downloader' )
window.mainloop() |
3. Tkinter画面へのウィジェットの追加
ここでは、ラベル、ボタン、入力ボックスという3つのシンプルなウィジェットを追加します。
そのためのコードを以下に示します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
window = tk.Tk()
window.geometry( "600x200" )
window.config(bg = "#EC7063" )
window.resizable(width = False ,height = False )
window.title( 'YouTube Video Downloader' )
link = tk.StringVar()
tk.Label(window,text = ' Youtube Video Downloader ' , font = 'arial 20 bold' ,fg = "White" ,bg = "Black" ).pack()
tk.Label(window, text = 'Paste Your YouTube Link Here:' , font = 'arial 20 bold' ,fg = "Black" ,bg = "#EC7063" ).place(x = 5 , y = 60 )
link_enter = tk.Entry(window, width = 53 ,textvariable = link,font = 'arial 15 bold' ,bg = "lightgreen" ).place(x = 5 , y = 100 )
tk.Button(window,text = 'DOWNLOAD VIDEO' , font = 'arial 15 bold' ,fg = "white" ,bg = 'black' , padx = 2 ,command = Download_Video).place(x = 385 ,y = 140 )
window.mainloop() |
最終的なアプリケーションのデザインは以下のようになります。
1
2
3
4
5
|
def Download_Video():
url = YouTube( str (link.get()))
video = url.streams.first()
video.download()
tk.Label(window, text = 'Your Video is downloaded!' , font = 'arial 15' ,fg = "White" ,bg = "#EC7063" ).place(x = 10 , y = 140 )
|
4. Download Video` ボタンの関数を作成する
Download ボタンを動作させるには、Download_Video
関数を定義し、Button の宣言で command
プロパティを使用して関数とボタンをリンクする必要があります。
この関数のコードは以下のとおりです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import tkinter as tk
from pytube import YouTube
def Download_Video():
url = YouTube( str (link.get()))
video = url.streams.first()
video.download()
tk.Label(window, text = 'Your Video is downloaded!' , font = 'arial 15' ,fg = "White" ,bg = "#EC7063" ).place(x = 10 , y = 140 )
window = tk.Tk()
window.geometry( "600x200" )
window.config(bg = "#EC7063" )
window.resizable(width = False ,height = False )
window.title( 'YouTube Video Downloader' )
link = tk.StringVar()
tk.Label(window,text = ' Youtube Video Downloader ' , font = 'arial 20 bold' ,fg = "White" ,bg = "Black" ).pack()
tk.Label(window, text = 'Paste Your YouTube Link Here:' , font = 'arial 20 bold' ,fg = "Black" ,bg = "#EC7063" ).place(x = 5 , y = 60 )
link_enter = tk.Entry(window, width = 53 ,textvariable = link,font = 'arial 15 bold' ,bg = "lightgreen" ).place(x = 5 , y = 100 )
tk.Button(window,text = 'DOWNLOAD VIDEO' , font = 'arial 15 bold' ,fg = "white" ,bg = 'black' , padx = 2 ,command = Download_Video).place(x = 385 ,y = 140 )
window.mainloop() |
まず、get
関数を使って、入力ボックスからリンクを抽出します。
次に、YouTube 関数を使って、URL を youtube でチェックします。
そして最後に streams.first
関数を使って YouTube からビデオを抽出し、download
関数を使ってダウンロードします。
ダウンロードが完了し、成功すると、画面に新しいラベルが追加され、「Your Video is downloaded!
Tkinterで作るYouTube動画ダウンローダーの完全版 ## Complete Code for YouTube Video Downloader in Tkinter
完全なコードは以下のとおりです。
この記事もチェック:PythonのTkinterでボタンの状態を取得、有効・無効の切り替えを実装する
出力
下のビデオは、このアプリケーションの動作を示しています。
ぜひご覧ください。
まとめ
このチュートリアルで、私たちは Python を使って YouTube 動画ダウンローダーのプロジェクトを成功させることができました。
ぜひ試してみてください。
お読みいただきありがとうございました。