如何用pytube下载需要年龄验证的视频?

问题描述 投票:0回答:2

我使用 pytube 下载并剪辑一些 YouTube 视频,但有些视频未下载并要求年龄验证。我该如何解决这个问题?谢谢你的建议

python dataset pytube
2个回答
0
投票

来自文档

对于高级用例,您可以在创建 YouTube 对象时提供一些附加参数:

>>> yt = YouTube(
        'http://youtube.com/watch?v=2lAe1cqCOXo',
        on_progress_callback=progress_func,
        on_complete_callback=complete_func,
        proxies=my_proxies,
        use_oauth=False,
        allow_oauth_cache=True
    ) 

use_oauth 和allow_oauth_cache 标志允许您授权 pytube 使用您的帐户与 YouTube 进行交互,并且可用于绕过年龄限制或访问私人视频和播放列表。如果allow_oauth_cache 设置为 True,则只会提示您执行一次,之后 pytube 将缓存代表您执行操作所需的令牌。否则,系统将再次提示您执行需要进行身份验证的每个操作。

所以,换句话说,这样的事情应该有效:

yt = YouTube(
        'https://www.youtube.com/watch?v=B3eAMGXFw1o',
        use_oauth=True,
        allow_oauth_cache=True
    )
# then download the video in whichever way you choose fit

0
投票

对于 pytube 15.0.0,即使使用 use_oauth 选项,我在流内容中也遇到了 AgeRestrictedError

我解决了仅在innertube.py第223行将ANDROID_MUSIC更改为“客户端”的问题:

def __init__(self, client='ANDROID_MUSIC', use_oauth=False, allowed_cache=True):

def __init__(self, client='ANDROID', use_oauth=False, allowed_cache=True):

© www.soinside.com 2019 - 2024. All rights reserved.