【发布时间】:2016-11-28 09:44:23
【问题描述】:
我正在开发一个 python 程序来检索作为搜索结果显示的所有视频的信息(视频 ID、视频作者等)(q="cancer+vlog")。
我有以下首先运行的 GET 请求:
results = youtube.search().list(
order="relevance",
part="snippet",
publishedAfter="2015-06-01T00:00:00Z",
maxResults=50,
type="video",
q="cancer+vlog"
).execute()
在处理完第一批 results(maxResults=50 中指定最多 50 个视频)后,我检查 results 是否包含 nextPageToken键。如果是这样,那么我使用上一次运行的 nextPageToken 运行另一个 GET 请求:
results = youtube.search().list(
pageToken = results["nextPageToken"],
order="relevance",
part="snippet",
publishedAfter="2015-06-01T00:00:00Z",
maxResults=50,
type="video",
q="cancer+vlog"
).execute()
因为我想从我的搜索结果中检索所有视频,所以我使用 pageToken 重复 GET 请求,直到 results 不包含 nextPageToken 键。这似乎工作正常,直到程序达到约 600 个视频,然后服务器继续提供 200 个响应而没有任何视频信息,本质上是一个空的 results["items"] 数组(即使有大约 600K要检索的视频)。不知道有没有人遇到过这种情况?
我不想再发这篇文章了,但是如果有人对整个代码库感兴趣,就在这里:http://pastebin.com/vXeiQ6cz
【问题讨论】:
-
谁转储,投反对票,不做任何评论,至少给个理由。
-
在这里查看我的答案stackoverflow.com/a/54680377/819764
标签: python youtube youtube-api youtube-data-api