首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >on_progress_callback管

on_progress_callback管
EN

Stack Overflow用户
提问于 2022-02-06 19:04:42
回答 1查看 392关注 0票数 0

我和Pytube图书馆一起工作。有一些回调函数,我想用来更新加载栏。我好像没办法让它起作用。看看其他的问题,在我看来,代码是正确的。我不知道为什么在任何情况下都不调用progress_callback。

代码语言:javascript
运行
复制
def on_progress(self, chunk: bytes, file_handler: BinaryIO, bytes_remaining: int):
    print(' progress:', on_progress)
video = pytube.YouTube( "https://www.youtube.com/watch?v=Ipa0KsyBViA", on_progress_callback=on_progress)

我对回调参数有疑问,我也看到了一些指向其他参数的参数。

编辑

查看源代码,我设置了完全相同的参数。不幸的是,这个函数似乎从未被调用过。

EN

回答 1

Stack Overflow用户

发布于 2022-02-10 17:15:03

我注意到最新版本的pytube (11.0.2)产生了一个错误AttributeError: 'NoneType' object has no attribute 'span',因为youtube在其端改变了一些东西,所以即使是来自官方文件的一个简单的例子也无法工作。也许这就是你问题的根源。临时解决方案(通过这个github问题找到):

  1. 卸载管道,重新安装热固定版本:
代码语言:javascript
运行
复制
pip uninstall pytube
pip install git+https://github.com/glubsy/pytube@nfunc_regex_patch
  1. 测试管道是否正确工作:
代码语言:javascript
运行
复制
from pytube import Youtube
YouTube('https://youtu.be/9bZkp7q19f0').streams.first().download()

如果成功的话,就继续前进。如果没有-寻找另一种解决方案。现在似乎每天都会有变化,因为Youtube改变了一些事情。

您所描述的代码应该可以工作,但是它做的并不多。在这个职位的帮助下,我发现on_progress回调需要按顺序排列的参数:streamchunkbytes_remaining。此外,打印函数将最终返回函数对象的引用,而不需要任何实际值。但是,它仍然应该运行,所以我认为您的问题可能是在1和2中描述的点,所以请检查您是否可以先下载一个文件。

  1. 实用的,完整的例子:
代码语言:javascript
运行
复制
from pytube import YouTube


def on_progress(stream, chunk, bytes_remaining):
    """Callback function"""
    total_size = stream.filesize
    bytes_downloaded = total_size - bytes_remaining
    pct_completed = bytes_downloaded / total_size * 100
    print(f"Status: {round(pct_completed, 2)} %")


url = "https://youtube.com/watch?v=9bZkp7q19f0"
yt = YouTube(url, on_progress_callback=on_progress)

out = yt.streams\
    .filter(progressive=True, file_extension='mp4')\
    .order_by('resolution')\
    .desc()\
    .first()\
    .download()

print(f"Download complete: {out}")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71010685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档