【问题标题】:Need help to get more than 100 results using YouTube search API需要帮助才能使用 YouTube 搜索 API 获得 100 多个结果
【发布时间】:2013-04-20 02:27:42
【问题描述】:

有没有什么方法可以使用 YouTube API 检索超过 100 个结果?

我可以使用这个查询字符串检索多达 100 个结果: https://gdata.youtube.com/feeds/api/videos?q=football&orderby=relevance&start-index=1&max-results=10&v=2

但是当我尝试 https://gdata.youtube.com/feeds/api/videos?q=football&orderby=relevance&start-index=101&max-results=10&v=2

我得到: http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/"C0YFQHg9fyp7I2A9WhBVGUk."'>tag:youtube.com ,2008:videos2013-04-26T01:51:51.667Zhttp://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/>视频匹配:footballhttp://www.youtube.com/img/pic_youtubelogo_123x63.gifhttps://www. youtube.com'/>http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://gdata.youtube.com/feeds/api/videos?v=2'/>http://schemas.google.com/ g/2005#batch' type='application/atom+xml' href='https://gdata.youtube.com/feeds/api/videos/batch?v=2'/>https://gdata.youtube.com/feeds/api/videos?q=football&start-index=101&max-results= 10&orderby=relevance&v=2'/>https://gdata.youtube.com/feeds/api/videos?alt=atom-service&v=2'/>https://gdata.youtube.com/feeds/api/videos? q=football&start-index=91&max-results=10&orderby=relevance&v=2'/>YouTubehttp://www.youtube.com/http://gdata.youtube.com'>YouTube 数据 API10010110

据我了解,您可以使用 YouTube 搜索 API 获得 999 个结果。为什么这里限制为100?是否有解决方法让我获得超过 100 个结果?

谢谢!

【问题讨论】:

标签: youtube youtube-api youtube.net-api


【解决方案1】:

我发现,如果您在对 API 的每次分页调用之间稍作停顿,它会返回 400 个结果,这意味着每页 1 次调用,每次调用之间间隔 2 秒。它适用于我的。如果您想获得更多,您必须关闭与 API 的连接并在一两分钟后重试。

【讨论】:

    【解决方案2】:

    分页存在缓存/升级问题。

    检查这个答案here

    浏览提要的正确方法是发出第一个请求 对于没有 start-index 的提要,然后检查是否 有一个<link rel="next'...>,如果有,请使用该 URL 检索 Feed 的下一页。

    【讨论】:

      【解决方案3】:

      我对同样的问题感到困惑 - start-index > 100 的视频搜索查询不返回任何结果:

      http://gdata.youtube.com/feeds/api/videos?v=2&q=skateboarding+dog&max-results=50&start-index=101

      起始索引

      http://gdata.youtube.com/feeds/api/videos?v=2&q=skateboarding+dog&max-results=50&start-index=90

      为您提供 10 个视频。

      难道您不能访问搜索返回的前 100 个以外的结果吗?

      【讨论】:

        【解决方案4】:

        你可以使用这个网址

        https://www.googleapis.com/youtube/v3/search?q=football&part=id&key=YOUR_DEVELOPER_KEY&max-results=150
        

        您可以轻松获得 100 多个结果

        【讨论】:

          【解决方案5】:

          试试这个https://gdata.youtube.com/feeds/api/videos?q=football&orderby=relevance&v=2 它将采用默认大小。当您使用起始索引和大小时,您正在使用分页机制。我想这就是这里的问题。不幸的是,Google youtube API 每个查询最多只能支持 50 个视频。它在文档中。 999 个视频是视频源中可以包含的视频总数。不是它将查询的视频数量。不要误拿它,因为它会返回你所有的视频。您必须使用带有开始索引和大小的分页才能浏览所有视频。

          【讨论】:

          • 即使使用您发布的 URL 也只会为我返回 100 个结果...您看到的还不止这些吗?
          • 元素的值是多少?如果您收到相同提要请求的不同结果,这有点奇怪......
          • 我猜你不能通过查询访问超过 50,因为现在我将最大结果设置为 100 时出现异常。并且它在 youtube 的 api 文档中最大大小为 50 .我想没有别的办法了
          • 我猜上周发生了一些变化。直到上周中旬,它都运行良好。
          【解决方案6】:

          我无法确定内部是否发生了某些变化,现在将 totalResults 的上限限制为 100,但这似乎是当今普遍存在的问题。但是,如果您尝试使用 API 的 v3,这将不是问题:例如,此查询:

          https://www.googleapis.com/youtube/v3/search?q=football&part=id&key=YOUR_DEVELOPER_KEY

          会给你很多很多的总结果。使用 v3,您可以将 maxResults 参数设置为每个响应返回最多 50 个视频,然后通过将 pageToken 参数设置为给定响应的“nextPageToken”属性来对响应进行分页。

          【讨论】:

            猜你喜欢
            • 2017-07-28
            • 1970-01-01
            • 1970-01-01
            • 2021-04-12
            • 1970-01-01
            • 2022-11-12
            • 1970-01-01
            • 2016-03-06
            • 2015-10-10
            相关资源
            最近更新 更多