我正在编写一个代码,通过编写下面的代码来查看可用的视频流
from pytube import Playlist
from pytube import YouTube as YT
import threading as th
import time
plist=input('Enter the playlist: ')
videos=list(Playlist(plist))
i=videos[0]
video=YT(i)
strm=video.streams.filter(res="720p")
print(strm)
从上面的代码我得到这样的错误
Traceback (most recent call last):
File "D:\Practicals\Python\ML\youtube\temp.py", line 11, in <module>
strm=video.streams.filter(res="720p")
^^^^^^^^^^^^^
File "D:\Python311\Lib\site-packages\pytube\__main__.py", line 296, in streams
return StreamQuery(self.fmt_streams)
^^^^^^^^^^^^^^^^
File "D:\Python311\Lib\site-packages\pytube\__main__.py", line 176, in fmt_streams
stream_manifest = extract.apply_descrambler(self.streaming_data)
^^^^^^^^^^^^^^^^^^^
File "D:\Python311\Lib\site-packages\pytube\__main__.py", line 161, in streaming_data
return self.vid_info['streamingData']
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'streamingData'
我遇到了同样的问题并通过添加解决了它使用_oauth and 允许oauth_缓存YT(i) 的属性。
from pytube import Playlist
from pytube import YouTube as YT
import threading as th
import time
plist=input('Enter the playlist: ')
videos=list(Playlist(plist))
i=videos[0]
video=YT(i, use_oauth=True, allow_oauth_cache=True)
strm=video.streams.filter(res="720p")
print(strm)
这将要求您通过浏览器连接到 YouTube 一次,但随后您将可以下载视频。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)