上传播放列表中是否有可迭代的最大视频数



今天是我第一次尝试使用API做任何事情。我想把一个频道的所有视频的持续时间加在一起。因为我感兴趣的频道有23708个视频,我首先用一个较小的频道尝试了我的代码,以确保它能做我想做的事情,它做到了。我使用了一个简单的计数器变量,可以查看是否使用了每个视频,并且数字是否等于我根据频道信息预期的数字。但当我在更大的频道上尝试时,计数器只上升到20000,而不是23708(这是频道上的视频数量(,我不明白为什么。这里的代码只是尝试在没有计算部分的情况下浏览所有视频,这就是为什么计数器只计算它浏览的页数,而不是每个视频(在这种情况下,它会上升到20000/50=400(。playlistId是频道的Uploads播放列表的ID。

nextPageToken = None
while True:
v_request = youtube.playlistItems().list(
part = 'id',
playlistId='UUqwGaUvq_l0RKszeHhZ5leA',
maxResults = 50,
pageToken = nextPageToken
)
response = v_request.execute()
counter += 1
nextPageToken = response.get('nextPageToken')
if not nextPageToken:
break

根据YouTube工作人员的说法,当查询给定频道的上传播放列表时,通过PlaylistItems.list端点返回的项目数量有一个上限。这很不幸,但却是事实。

你也可以考虑我在回答类似问题时提出的建议。

最新更新