我正在开发一个python程序来检索所有显示为搜索结果的视频的信息(视频ID,视频作者等)( q =&#34;癌症+视频博客&#34; < /强>)。
我有以下 GET 请求首先运行:
results = youtube.search().list(
order="relevance",
part="snippet",
publishedAfter="2015-06-01T00:00:00Z",
maxResults=50,
type="video",
q="cancer+vlog"
).execute()
处理完第一批结果(maxResults = 50中指定的最多50个视频)后,检查结果是否包含 nextPageToken < / strong>关键。如果是,那么我使用上一次运行中的 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 请求,直到结果不包含 nextPageToken 键。这似乎工作正常,直到该程序达到约600个视频,然后服务器继续提供200响应没有任何视频信息,基本上是一个空结果[&#34;项目&#34;] 数组(甚至虽然有大约600K视频要检索)。我想知道是否有人经历过这个?
我不想再发布此帖子,但如果有人对整个代码库感兴趣,请点击此处:http://pastebin.com/vXeiQ6cz
答案 0 :(得分:0)
实际上,你在youtube数据api上加载服务器,官方说,youtube不使用这个api,它是针对像我们这样的其他用户,Python是服务器端语言,而你的脚本,你发送的查询太多了,或获取api的请求,这就是为什么它显示,这种类型的错误。我不是python开发人员。我是php的家伙,在php中有一个函数睡眠延迟执行一段时间,如果有类似的东西你可以使用它。希望它可以帮到你。