python - Pytube 播放列表不下载任何视频
问题描述
我尝试使用带有此代码的 pytube3 库下载播放列表
import pytube
import os
# download playlist
playlist = pytube.Playlist(
"https://www.youtube.com/playlist?list=PLQVvvaa0QuDcjD5BAw2DxE6OF2tius3V3")
i = 1
print(len(playlist.video_urls))
for link in playlist:
#if i < 51:
# break
#i = i + 1
# continue
yt = pytube.YouTube(link)
file = yt.streams.get_highest_resolution().download() #"D:\YOUTUBE\Gabrysia"
# find last backslash, because it is followed by an relative path
# and insert number in the beginning
last_backslash = file.rfind("\\")
res = list(file)
res.insert(last_backslash + 1, str(i) + " ")
res = ''.join(res)
# rename file
os.rename(file, str(res))
i = i + 1
print('done')
第一个打印语句打印 0,这意味着我的播放列表是空的。我尝试了很多播放列表,但它根本不起作用。我记得我前段时间下载了很多播放列表,但现在无法正常工作。也许 YouTube 后端有一些变化?但据我所知,有新版本的 pytube 库(pytube4、pytubeX),我安装了这个版本,但它仍然无法正常工作。
解决方案
我没有足够的声誉来发表评论。所以添加作为答案。此错误已在原始pytube 存储库中修复。直接从 repo 进行 pip install ,它应该可以工作。
推荐阅读
- c# - 如何覆盖任何 DbContext 全局的 SaveChangesAsync?
- reactjs - 反应:useState 还是 useRef?
- matlab - 更改图例的图例,使各行共享相同的图例条目
- java - E4 无法在类变量上自动注入 MApplication
- ios - 链接器命令在tipsi-twitter 中失败,错误代码为 1
- aws-sdk - 是否可以在不使用 cli 的情况下使用放大框架?
- mysql - 从 2 个表中选择会导致错误
- sqlite - SQLite:.dump 是否复制或重新创建索引?
- solver - GAMS:目标函数中的双指数
- angular - 必须为 formcontrol 提供一个值