import pytube
def video_downloader():
vid_url=str(input("Enter Video URL: "))
print('Connecting, Please wait...')
video=pytube.YouTube(vid_url)
Streams=video.streams
File_name=input('File Name:')
Format=input('Audio Or Video :')
if Format=='Audio':
Filter=Streams.get_audio_only(subtype='mp4')
if Format=='Video':
Filter=Streams.get_highest_resolution()
print('Now downloading:',video.title)
sizer=round(Filter.filesize/1000000)
print('Size:',sizer,'MB')
Filter.download(filename=str(File_name))
print('Done!')
video_downloader()
这是我最近做的一个使用pytube从youtube下载视频和音频文件的脚本,但我很难尝试添加一个函数或其他东西来向用户显示下载的进度,即:1%完成2%完成等等。)
这是我第一次回答,错误之处请见谅。
阅读Pytube文档,大家可能会发现,pytube有 这个 选项已经作为进度条实现,您将需要调用 on_progress_callback
在您的YouTube对象中。
from pytube.cli import on_progress
from pytube import YouTube
yt = YouTube(video_url, on_progress_callback=on_progress)
yt.download()