get_highest_resolution 函数在 pytube 中不起作用

get_highest_resolution function doesn't work in pytube

当我尝试使用 get_highest_resolution() 函数在使用 pytube 下载时获得最高分辨率的视频。虽然一周前还可以,但现在却出错了。

from pytube import YouTube
yt = YouTube('https://youtube.com/watch?v=2lAe1cqCOXo')
ys = yt.streams.get_highest_resolution()
ys.download()

AttributeError : 'nonetype' object has no attribute download

虽然这很好用:

from pytube import YouTube
yt = YouTube('https://youtube.com/watch?v=2lAe1cqCOXo')
ys = yt.streams.first()
ys.download()

有谁知道使用get_highest_resolution()时出现错误的原因。

..你试过另一个 url?

有同样的问题,我认识到 pytubes get_highest_resolution() 似乎不适用于每个 youtube url,但在大多数 .. (60/40) [if none 你 url 的工作尝试 https://pypi.org/project/pytube3/] 认为只有异常处理才能“修复”这个问题。

祝大家 2021 年愉快!

import pytube
a = '=' * 23

print(f"{a}\n3[0;31mBAIXAR VÍDEO DO YOUTUBE3[0;0m\n{a}")

video = pytube.YouTube(input('Digite a URL do vídeo: '))
resolucoes = video.streams.all()

for i in resolucoes:  # mostra as resoluções disponíveis
    print(i)

video.streams.get_by_itag(137).download("D:\Downloads YouTube")  # salva na pasta

我遇到了同样的问题,但我使用了 progressive=true 并且有效

 Label(root,text = 'Youtube Video Downloader', font ='arial 20 
 bold',bg="#336B87",pady=10).pack()

 link = StringVar()

 Label(root, text = 'Paste Link Here:', font = 'arial 15 
 bold',bg="#336B87",pady=0).place(x= 150 , y = 60)
 link_enter = Entry(root, width = 70,textvariable = link).place(x = 
 32, y = 90)

 def Downloader():     
 url =YouTube(str(link.get()))
 video = url.streams.filter(progressive=True).last()
 video.download()
 Label(root, text = 'DOWNLOADED', font = 'arial 15').place(x= 180 , y 
 = 210)