You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pytube下载YouTube播放列表时遭遇SSL证书验证失败错误的求助

解决pytube SSL证书验证失败的问题

你遇到的[SSL: CERTIFICATE_VERIFY_FAILED]错误是pytube请求YouTube资源时,本地系统无法正常验证SSL证书导致的,下面是几个实用的解决办法:

1. 临时禁用SSL证书验证(快速测试用)

这是最直接的临时方案,适合快速验证代码逻辑,但不要在生产环境或处理敏感请求时使用,会降低安全性。在你的代码开头添加以下内容即可:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

from pytube import Playlist
# 原有代码保持不变
playlist = Playlist('https://www.youtube.com/playlist?list=PLWPirh4EWFpEpO6NjjWLbKSCb-wx3hMql')
for video in playlist.videos:
    print("Video: ",video)
    video.streams.get_highest_resolution().download()

2. 更新本地CA证书

如果不想禁用验证,最稳妥的方式是更新本地的根证书颁发机构(CA)证书:

  • Windows:打开「Internet选项」→「内容」→「证书」,导入最新的CA证书,或者通过Windows Update更新系统证书库。
  • macOS:打开「钥匙串访问」,在「系统」钥匙串中添加缺失的根证书;也可以找到Python安装目录,运行Install Certificates.command脚本(比如/Applications/Python\ 3.11/Install\ Certificates.command,替换数字为你的Python版本)。
  • Linux:根据发行版执行命令更新证书包,比如Debian/Ubuntu系:
    sudo apt-get update && sudo apt-get install --reinstall ca-certificates
    
    CentOS/RHEL系:
    sudo yum update ca-certificates
    

3. 升级pytube到最新版本

旧版本的pytube可能存在证书兼容问题,升级到最新版往往能解决这类问题:

pip install --upgrade pytube

4. 手动指定pytube的证书路径(进阶)

如果系统证书路径配置有问题,可以手动指定证书文件路径。找到本地CA证书文件(比如Linux下的/etc/ssl/certs/ca-certificates.crt),然后在代码中设置:

import ssl
ctx = ssl.create_default_context(cafile='/path/to/your/ca-certificates.crt')

from pytube import Playlist
# 替换pytube默认的请求上下文
Playlist._default_context = ctx

playlist = Playlist('https://www.youtube.com/playlist?list=PLWPirh4EWFpEpO6NjjWLbKSCb-wx3hMql')
for video in playlist.videos:
    print("Video: ",video)
    video.streams.get_highest_resolution().download()

内容的提问来源于stack exchange,提问作者Somnath Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 21:27:38