python - 如何让 YouTube Data API 返回超过 20 页的列表结果?
问题描述
我有一个非常大的点赞视频播放列表(约 2500 个视频),我正试图从中获取所有音乐类别的视频。因此,我创建了一个循环结构来nextPageToken
从最后一个请求中获取并将其用作pageToken
当前请求的。但是,当我达到 1000 个总结果或 20 个请求时,它会打断我。我查看了以前的问题,他们都说将请求分成几个范围,但这已经使用了几个范围,API 只是不包含nextPageToken
在第 20 个请求中,因此结束了我的循环(以及我获得更多的能力页面令牌)。我怎样才能得到我列表的后 2/3?这是我的代码:
ids_list = []
first = True
while True:
# Request the next page of the liked videos list
if first:
request = youtube.videos().list(
part='snippet,id',
myRating='like',
maxResults='50'
)
first = False
else:
request = youtube.videos().list(
part='snippet,id',
myRating='like',
maxResults='50',
pageToken=next_page
)
response = request.execute()
# Add all the music vids from this page into ids_list
for video in response['items']:
if video['snippet']['categoryId'] == '10':
ids_list.append(video['id'])
i += 1
# Continue down the pages until there are no more next pages
if 'nextPageToken' in response:
next_page = response['nextPageToken']
else:
break
任何帮助表示赞赏。谢谢!
解决方案
推荐阅读
- c# - 我遇到了一个旋转错误,你能帮我解决这个问题吗?
- security - Kubernetes NetworkPolicy - 这是一个有状态的防火墙吗?
- python - 如何在我的搜索关键字逻辑中使用 AutoIndex 数据?
- azure-data-studio - Split Up/Down/Left/Right 创建一个空白窗格
- javascript - 等待地图功能完成但附加到变量
- c# - WPF打印visualbrush低质量文本
- android - WorkManager - SystemForegroundService: Context.startForegroundService() 然后没有调用 Service.startForeground()
- javascript - jquery ajax 卡住了,在网络面板中显示“请求尚未完成”,尽管已经有响应头
- python-3.x - 使用 h5py 对具有大量重复的数据集进行有效压缩
- mysql - 在 WHERE 子句中替换非数字值和 MATCH