โปรแกรมDownload VDO Youtube ด้วย Python และแปลงไฟล์เป็น EXE

ผู้เขียนบทความ : นายวงศธร นามผล

1.ความเป็นมา

โครงการดาวน์โหลด Youtube เป็นโครงการpython วัตถุประสงค์ของโครงการนี้คือการดาวน์โหลดวิดีโอประเภทใดก็ได้ในวิธีที่ง่ายและรวดเร็วจาก youtube ในอุปกรณ์ของคุณในโครงการ python นี้ผู้ใช้ต้องคัดลอก URL วิดีโอ youtube ที่พวกเขาต้องการดาวน์โหลดและวาง URL นั้นในส่วน ‘วางลิงก์ที่นี่’ และคลิกที่ปุ่มดาวน์โหลดมันจะเริ่มดาวน์โหลดวิดีโอ เมื่อการดาวน์โหลดวิดีโอเสร็จสิ้นจะแสดงข้อความป๊อปอัป ‘ดาวน์โหลด’ บนหน้าต่างด้านล่างปุ่มดาวน์โหลด

2. วัตถุประสงค์

เพื่อ Download VDO จาก Youtube ได้ง่ายดายและรวดเร็ว

3.ขอบเขต

1.สามารถใช้ได้แค่ PC หรือ Laptop

2.สามารถเลือก Directory ที่ตั้งไฟล์ได้

3.โปรแกรมไม่สามารถเลือก คุณภาพ VIDEO ได้

4. ประโยชน์ที่คาดว่าจะได้รับ

1.สะดวกต่อการใช้งานและรวดเร็ว

5. ความรู้ที่เกี่ยวข้อง

Module ที่ใช้

1.pytube ติดตั้งด้วยคำสั่ง pip install pytube

2.tkinter ติดตั้งด้วยคำสั่ง pip install tkinter

3.pyinstaller ติดตั้งด้วยคำสั่ง pip install pyinstaller

ทำความรู้จักกับโมดูล

1.ในส่วนของ Pytube นั้นทำหน้าที่ในการ ติดต่อการlike url ที่ทำการป้อนลงในตัวโปรแกรม

2.ส่วน tkinter นั้นเป็นโมดูลในส่วนของการ Design GUI ของหน้าตาโปรแกรม

3.pyinstaller เป็นโมดูลในการ Build file .py ให้เป็น .exe โดยการ add module ที่ใช้ทั้งหมดใรโปรกแรมเข้าไปเป็นไฟล์ .exe

ขั้นตอนการเขียนโปรแกรม

ขั้นตอนแรก ทำการ import module ที่ใช้ทั้งหมด ตามCode ด้านล่าง

import tkinter as tk 
from tkinter import *
from pytube import YouTube
from tkinter import messagebox, filedialog

ส่วนนี้เปรียบเสมือน Header ของโปรแกรม

ส่วนต่อไปเป็นส่วนของการตั้งขนาด GUI และ Title ของโปรแกรม

root = Tk()
root.geometry('500x300')
root.resizable(0,0)
root.title("โหลดง่ายแค่ใส่ลิงค์")

ครับต่อไปเป็นการ Design หน้าตาของโปรแกรมนะครับ

Label(root,text = 'โหลด Video Youtube ง่ายๆแค่ใส่ลิ้งค์', font ='arial 20 bold').pack()
Label(root,text = 'อย่าลืมเปลี่ยนภาษาเป็นภาษา English ด้วยนะครับ', font ='arial 10 bold').pack()
link = StringVar()
Label(root, text = 'ใส่ลิ้งค์ได้โลยยยยย:', font = 'arial 15 bold').place(x= 180 , y = 60)
link_enter = Entry(root, width = 70,textvariable = link).place(x = 32, y = 90)

ต่อไปคือในส่วนของ Def การ Download เพื่อกำหนดเป็น Class ในการเรียกใช้

def Downloader():     
    Youtube_link = link.get() 
    download_Folder = download_Path.get()  
    getVideo = YouTube(Youtube_link) 
    videoStream = getVideo.streams.first()  
    videoStream.download(download_Folder)  
    Label(root, text = 'ดาวน์โหลดเสร็จสิ้น', font = 'arial 15').place(x= 150 , y = 250)

ส่วนต่อมาเป็น Def ของการ Browse ที่เก็บไฟล์

def Browse():  
    download_Directory = filedialog.askdirectory(initialdir="YOUR DIRECTORY PATH") 
    download_Path.set(download_Directory) 

ต่อไปคือการ Design ปุ่มกด Download และปุ่ม Browse

Button(root,text = 'DOWNLOAD', font = 'arial 15 bold' ,bg = 'pale violet red', padx = 2, command = Downloader).place(x=180 ,y = 150)
Button(root,text = 'Browse' , font = 'arial 15 bold', bg = 'pale violet red', padx = 2, command = Browse).place(x=180,y=200)

และต่อไปคือตัว End point

download_Path = StringVar() 
root.mainloop()

ขั้นตอนต่อไปเป็นการบีบอัดไฟล์ เป็นไฟล์ .exe

1.Open folder ที่ Save ไฟล์ .py ไว้

2.กด Shift + คลิ๊กขวา เลือก Open Powershell

จากนั้นใส่คำสั่ง

pyinstaller --onefile --noconsole "ตรงนี้เป็นชื่อไฟล์.py"

ตัวอย่าง ไม่ต้องมี ” “

pyinstaller --onefile --noconsole youtube_download.py

จากนั้นกด Enter รอจนโปรแกรมเสร็จสิ้น

จะมีโฟล์เดอร์ที่เพิ่มขึ้นมาดังภาพ

ไฟล์ .exe ของเราจะอยู่ในโฟล์เดอร์ที่ชื่อว่า dist

3. เสร็จสิ้น

6.ผลการดำเนินงาน

7.สรุปผลและข้อเสนอแนะ

โปรแกรมเป็นไปตามขอบเขตุที่วางไว้ และ สามารถใช้งานได้จริง

8.ข้อมูลอ้างอิง

Python YouTube Downloader with Pytube – DataFlair (data-flair.training)

บทความที่เกี่ยวข้องกัน

Share

วงศธร นามผล

นายวงศธร นามผล อายุ 20ปี ศึกษาอยู่ที่ มหาวิทยาลัยเทคโนโลยีราชมงคลศรีวิชัย วิทยาเขตุ สงขลา

You may also like...

Leave a Reply