2016-07-25 146 views
0

我正在开发一个python程序,用于检索显示为搜索结果的所有视频信息(视频ID,视频作者等)(q =“cancer + vlog”)。(YouTube API v3)对Search.list的GET请求返回空响应

我有以下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),I检查以查看是否结果包含nextPageToken键。如果是这样的话,我再跑GET的nextPageToken从以前的运行要求:

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() 

因为我想要检索所有的从我的搜索结果中的视频,我重复GET请求用pageToken直到结果不包含nextPageToken键。这似乎工作正常,直到节目达到约600视频,然后服务器继续给出200响应没有任何视频信息,本质上是一个空的结果[“项目”]阵列(即使有大约600K视频检索) 。我想知道有没有人经历过这个?

我不想让这个职位不再,但如果有人有兴趣在整个代码库,它在这里:http://pastebin.com/vXeiQ6cz

+0

谁倾倒,放弃投票,没有任何评论,至少给出一个理由。 – Shawon

回答

0

实际上,做一个服务器负载上YouTube数据API,正式,YouTube的不使用这个api,它对于像我们这样的其他用户来说,Python是一种服务器端语言,并且通过你的脚本,你发送了太多的查询,或者向api发出请求,为什么会显示这种类型的错误。我不是一个Python开发人员。我是PHP的家伙,在PHP中有一个功能睡眠延迟执行一段时间,如果有这样的事情,你可以使用它。希望它可以帮助你。