ผู้เขียนบทความ : นายวงศธร นามผล
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)