前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pytube下载YouTube视频提示错误'streamingData'

Pytube下载YouTube视频提示错误'streamingData'

原创
作者头像
jackcode
发布2023-05-18 15:29:21
9410
发布2023-05-18 15:29:21
举报
文章被收录于专栏:爬虫资料爬虫资料
亿牛云代理
亿牛云代理

Pytube是一个用Python编写的工具,可以方便地从YouTube下载视频。它有以下几个优点:

  • 它没有第三方依赖,只需要标准的Python库,安装和使用都很简单。
  • 它支持多种视频格式和质量,可以根据用户的需求选择合适的视频流。
  • 它提供了命令行界面和Python API,可以灵活地集成到其他项目中。
  • 它支持下载视频列表和字幕,可以批量处理多个视频。

使用中提示错误‘streamingData’,需要注意以下两个问题:

  • 一个是在创建YouTube对象时添加use_oauth和allow_oauth_cache参数,例如:video=YT (i, use_oauth=True, allow_oauth_cache=True)。这样会要求你通过浏览器登录YouTube一次,然后就可以下载视频了。
  • 另一个是降级pytube版本或者使用yt_dlp库代替pytube,例如:import yt_dlp。这样可以避免出现streamingData的错误。

如果想下载高清视频需要使用pytube的12.0.0版本,并且应用上面的第一个方案,示例如下:

代码语言:python
复制
import pytube

def download_callback(stream, chunk, remaining):
    # 可选的回调函数,处理下载过程中的流、块和剩余字节数
    # 在这里添加您的处理逻辑
    pass

def complete_callback(stream, file_path):
    # 可选的回调函数,处理下载完成后的流和文件路径
    # 在这里添加您的处理逻辑
    pass

# 亿牛云(动态转发隧道代理)爬虫代理加强版 代理IP、端口及用户名和密码认证
proxy = 'http://www.16yun.cn:31000'
username = '16YUN'
password = '16IP'

# 创建YouTube对象并设置参数
yt = pytube.YouTube("https://www.youtube.com/watch?v=video_id",
                    use_oauth=True,
                    allow_oauth_cache=True,
                    proxies={"http": proxy, "https": proxy},
                    proxy_username=username,
                    proxy_password=password,
                    on_progress_callback=download_callback,
                    on_complete_callback=complete_callback,
                    deferred=False)

# 获取最高质量的视频
video = yt.streams.get_highest_resolution()

# 下载视频
video.download()

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档