【问题标题】:Showing progress in pytube在 pytube 中显示进度
【发布时间】:2020-04-22 09:39:29
【问题描述】:
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% 等 任何帮助将不胜感激:)

【问题讨论】:

    标签: python web-scraping progress-bar pytube


    【解决方案1】:

    这是我第一次回答,为错误道歉。

    阅读 Pytube 文档,您可能会注意到 pytube 已将 this 选项实现为进度条,您需要在 YouTube 对象中调用 on_progress_callback

    from pytube.cli import on_progress
    from pytube import YouTube
    
    yt = YouTube(video_url, on_progress_callback=on_progress)
    yt.download()
    

    【讨论】:

      【解决方案2】:

      pytubeenter code herefrom pytube.cli import on_progress

      从 pytube 导入 YouTube 为 YT

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

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

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

      【讨论】:

      • 您能否编辑此答案以解释此代码、它如何解决问题以及它如何改进现有答案?
      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 2021-11-03
      • 2019-12-05
      • 1970-01-01
      • 2019-10-05
      • 2019-09-16
      • 2020-10-03
      • 2019-09-23
      • 1970-01-01
      相关资源
      最近更新 更多