我的YT数据API有问题。我有一个循环,它从播放列表中获取一个视频ID下载此视频并将其从播放列表中删除。 但是在下一个循环中,程序想要下载相同的视频,因为再次执行的列表返回,视频没有被删除(但实际上是)。 有没有办法刷新播放列表,而不必每次循环OAuth
while True:
request = youtube.playlistItems().list(
part="contentDetails",
maxResults=1,
playlistId="myPlaylistksdjfksjdfks"
)
response = request.execute()
test = response['items']
test2 = test[0]
idvid = test2['id']
test3 = test2['contentDetails']
videoid = test3['videoId']
videourl = 'https://www.youtube.com/watch?v=' + videoid
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([videourl])
delquest = youtube.playlistItems().delete(
id=idvid
)
delquest.execute()
我希望有人能帮忙
也许您需要在删除条目和下一个查询之间留出时间
而不是要求一次一个,要求一些更高的数字,并循环通过所有产生的视频ID。然后等待一段时间,让系统有时间做出响应,然后再次执行
另外,为了避免重击服务器,每当playlayitems查询返回零个条目时,在再次检查之前先休眠一段时间(例如,至少60秒)
相关问题 更多 >
编程相关推荐