Python:
from pytube import YouTube
import os
import platform
def get_downloads_folder():
system = platform.system()
if system == 'Windows':
return os.path.join(os.path.expanduser("~"), "Downloads")
elif system == 'Darwin':
return os.path.join(os.path.expanduser("~"), "Downloads")
elif system == 'Linux':
return os.path.join(os.path.expanduser("~"), "Downloads")
else:
return None
print("WELCOME TO PYTHON VIDEO DOWNLOADER")
print("AUTHOR JOHYNCHARLES")
URL = input("PLEASE ENTER THE URL OF THE VIDEO: \n")
os.system('cls')
yt = YouTube(URL)
print("...............PLEASE VERIFY THE DETAILS OF THE VIDEO YOU WANT TO DOWNLOAD....................")
print("TITLE:", yt.title)
print("PUBLISH DATE:", yt.publish_date)
print("AGE RESTRICTION:", yt.age_restricted)
print("VIEWS:", yt.views)
print("CHOOSE FROM ONE OF THE OPTIONS BELOW:")
print("1: DOWNLOAD MP3")
print("2: DOWNLOAD MP4")
choice = int(input())
os.system('cls')
if choice == 1:
if yt.age_restricted:
yt.streams.first().download(get_downloads_folder(), filename_prefix='temp')
print("DOWNLOADING AUDIO OF", yt.title)
os.rename(os.path.join(get_downloads_folder(), 'temp.mp4'), os.path.join(get_downloads_folder(), 'temp.mp3'))
print("DOWNLOADED SUCCESSFULLY")
else:
print("DOWNLOADING AUDIO OF", yt.title)
yt.streams.filter(only_audio=True).first().download(get_downloads_folder())
print("DOWNLOADED SUCCESSFULLY")
elif choice == 2:
print("CHOOSE")
print("1: LOW QUALITY")
print("2: HIGH QUALITY")
choice1 = int(input())
os.system('cls')
if choice1 == 1:
if yt.age_restricted:
yt.streams.first().download(get_downloads_folder(), filename_prefix='temp')
print("DOWNLOADING LOW QUALITY VIDEO OF", yt.title)
os.rename(os.path.join(get_downloads_folder(), 'temp.mp4'), os.path.join(get_downloads_folder(), 'temp_low.mp4'))
print("DOWNLOADED SUCCESSFULLY")
else:
print("DOWNLOADING LOW QUALITY VIDEO OF", yt.title)
yt.streams.filter(progressive=True).order_by('resolution').first().download(get_downloads_folder())
print("DOWNLOADED SUCCESSFULLY")
elif choice1 == 2:
if yt.age_restricted:
yt.streams.first().download(get_downloads_folder(), filename_prefix='temp')
print("DOWNLOADING HIGH QUALITY VIDEO OF", yt.title)
os.rename(os.path.join(get_downloads_folder(), 'temp.mp4'), os.path.join(get_downloads_folder(), 'temp_high.mp4'))
print("DOWNLOADED SUCCESSFULLY")
else:
print("DOWNLOADING HIGH QUALITY VIDEO OF", yt.title)
yt.streams.get_highest_resolution().download(get_downloads_folder())
print("DOWNLOADED SUCCESSFULLY")