为什么会出现错误?
import pafy
def get_playlist(url):
playlist = pafy.get_playlist(url)
return playlist['items']
if __name__ == '__main__':
yt_url = input('Введите ссылку: ')
p = get_playlist(yt_url)
关联:
https://www.youtube.com/playlist?list=PL-Sp30dZBoZ2nBqUkUB3C93YHiVJCp-GY
错误:
Traceback (most recent call last):
File "D:/pyprojects/yt_dl/test2.py", line 11, in <module>
p = get_playlist(yt_url)
File "D:/pyprojects/yt_dl/test2.py", line 5, in get_playlist
playlist = pafy.get_playlist(url)
File "D:\pyprojects\venv\lib\site-packages\pafy\playlist.py", line 58, in get_playlist
allinfo = fetch_decode(url) # unicode
File "D:\pyprojects\venv\lib\site-packages\pafy\pafy.py", line 67, in fetch_decode
req = g.opener.open(url)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 531, in open
response = meth(req, response)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 640, in http_response
response = self.parent.error(
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 563, in error
result = self._call_chain(*args)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 502, in _call_chain
result = func(*args)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 755, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 531, in open
response = meth(req, response)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 640, in http_response
response = self.parent.error(
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 569, in error
return self._call_chain(*args)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 502, in _call_chain
result = func(*args)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
据我了解,该库
pafy非常旧,自 2014 年以来一直没有更新,并且不适用于当前版本的Youtube. 然而,在内部,这个库使用了一个完全最新的库youtube_dl,你可以使用它:结论(我把下载信息的服务信息缩短了,留下播放列表标题的实际输出):
如果
download=False在调用该函数时去掉该参数extract_info,则播放列表中列出的所有视频都将下载到当前目录。