(YouTube API v3)对Search.list的GET请求返回空响应

时间:2016-07-25 06:38:08

标签: python youtube youtube-api youtube-data-api

我正在开发一个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

1 个答案:

答案 0 :(得分:0)

实际上,你在youtube数据api上加载服务器,官方说,youtube不使用这个api,它是针对像我们这样的其他用户,Python是服务器端语言,而你的脚本,你发送的查询太多了,或获取api的请求,这就是为什么它显示,这种类型的错误。我不是python开发人员。我是php的家伙,在php中有一个函数睡眠延迟执行一段时间,如果有类似的东西你可以使用它。希望它可以帮到你。