3
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%完成等任何帮助将不胜感激:)

4

2 回答 2

5

这是我第一次回答,有错误请见谅。

阅读 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()
于 2020-07-11T15:35:57.587 回答
0

pytubeenter code here从 pytube.cli 导入 o​​n_progress

从 pytube 导入 YouTube 作为 YT

yt =YT ("https://",on_progress_callback=on_progress)

yt.streams.get_highest_resolution().download(output_path="/Users/")

↳ |██████████████████ | 17.

于 2021-09-30T02:22:15.440 回答