Pytube 在一些不受年龄限制的视频上抛出 AgeRestrictedError

Pytube throws AgeRestrictedError on some non-age-restricted videos

提问人:Dusty 提问时间:10/4/2023 最后编辑:Peter MortensenDusty 更新时间:10/5/2023 访问量:546

问:

pytube 在某些不受年龄限制的视频上引发 pytube.exceptions.AgeRestrictedError。有些视频可以下载,但有些视频不能。我还没有发现视频之间的区别。

  • bypass_age_gate() 无济于事
  • 登录无济于事
from pytube import YouTube

yt = YouTube("https://youtu.be/vUzGV4F7He8")
if yt.age_restricted == False:
    yt.streams.filter(adaptive=True, file_extension="mp4").first().download()

→ pytube.exceptions.AgeRestrictedError

我没有找到可行的解决方案。有吗?

经过大量调查,我找到了一种方法: 我编辑了函数bypass_age_gate并将客户端设置为“WEB”。但现在我得到了:

urllib.error.HTTPError:HTTP 错误 403:禁止访问。

python youtube pytube

评论


答:

-2赞 user3761466 10/4/2023 #1

您在使用 pytube 时遇到的问题是 GitHub 上报告的已知错误。该错误是由 YouTube 为有年龄限制的视频生成签名的方式发生变化引起的。

目前没有针对此 bug 的已知解决方法。但是,pytube 的开发人员正在研究修复程序,预计将在库的未来版本中发布。

同时,您可以尝试一些解决方法:

  • 使用其他 YouTube 视频下载器。还有其他一些 YouTube视频下载器可用,包括在线和离线。一些 这些下载器也许能够下载有年龄限制的视频 pytube 不能。
  • 使用代理服务器。代理服务器可用于隐藏 您在 YouTube 上的 IP 地址。这可能允许您下载 有年龄限制的视频,无需登录。
  • 使用 YouTube Premium 帐户。YouTube Premium 订阅者可以在 YouTube,无论是否有年龄限制。

评论

2赞 DavidW 10/4/2023
stackoverflow.com/help/gpt-policy