【问题标题】:Why isn't Yelp returning all of the results?为什么 Yelp 不返回所有结果?
【发布时间】:2019-01-14 19:02:29
【问题描述】:

我在 Yelp Fusion Api 中使用 Business Search 函数。

为什么我似乎无法获得所有业务?

这是一个例子:

当我提出这个请求时,它会返回前 20 个结果和 485 个属性。

https://api.yelp.com/v3/businesses/search?limit=20&term=childcare&location=NY

但是,如果我添加偏移量,它不会返回任何结果。即使它应该返回结果 450-470。

https://api.yelp.com/v3/businesses/search?limit=20&term=childcare&location=NY&offset=450

这是添加偏移量后的输出:

{
  "businesses": [],
  "total": 485,
  "region": {
    "center": {
        "longitude": -73.99429321289062,
        "latitude": 40.70544486444615
    }
  }
}

【问题讨论】:

  • 你能把 API 的输出贴出来吗,我无法重现。
  • @DipenShah 我发布了一个示例输出。我想我的原始网址有误。对此感到抱歉。
  • 运行相同的查询给了我 22700 个结果,所以仍然无法重现。
  • @DipenShah 哎呀....我想我仍然有一个混乱的网址。立即尝试:api.yelp.com/v3/businesses/…
  • 好像是个bug,API只返回333个结果。

标签: rest http yelp yelp-fusion-api


【解决方案1】:

API 未返回正确的可用结果“总数”。尝试加载https://api.yelp.com/v3/businesses/search?limit=20&offset=330&term=childcare&location=NY - 这是我能找到的最后一页结果,偏移量为 330。如果将偏移量更改为 350,则不会返回任何商家。

似乎您必须从前面浏览列表,直到您停止在结果中重新获得企业,因为总数不可靠。

【讨论】:

  • 但是如果你在 yelp 的网站上搜索,有些结果(带有评论)不在结果集中。看起来总数更准确。
  • 也许他们的 API 由于某种原因没有返回所有结果。
  • 嗯....是的。好的,我不得不承认这是一个错误,只是希望 yelp 可以通过 github 回复我。感谢您的回复。
【解决方案2】:

我有同样的问题,我发现如果你不设置“limit”参数,它会默认为20。但是,我也发现你可以设置“limit”的最大值是50,当我这样做时,我得到了 50 个结果,而不是我没有设置“限制”参数时的 20 个结果。

就我而言,我现在计划缩小搜索范围并运行一个脚本,该脚本将使用单独的 URL 调用许多不同的区域,以解决这个问题。让我知道您是否也遇到过这种情况。

【讨论】:

    猜你喜欢
    • 2017-01-08
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 2015-03-09
    • 2014-10-23
    • 1970-01-01
    相关资源
    最近更新 更多