为什么 Yelp 不返回所有结果?

Why isn't Yelp returning all of the results?

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

为什么我似乎无法获取所有商家信息?

这是一个例子:

当我提出这个请求时,它 return 是前 20 个结果,总共 属性 485 个结果。

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

但是,如果我添加一个偏移量,它不会 return 任何结果。即使它应该 return 结果 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 没有 return 正确的 "total" 可用结果数。尝试加载 https://api.yelp.com/v3/businesses/search?limit=20&offset=330&term=childcare&location=NY - 这是我能够找到的最后一页结果,偏移量为 330。如果将偏移量更改为 350,则不会 return 编辑任何企业。

由于总数不可靠,您似乎必须从前面扫描列表,直到您不再让企业重新出现在您的结果中。

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

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