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

时间:2018-08-07 15:58:04

标签: rest http yelp yelp-fusion-api

我正在使用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
    }
  }
}

2 个答案:

答案 0 :(得分:2)

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

由于总数不可靠,您似乎必须从头开始浏览列表,直到停止让业务重新出现在结果中为止。

答案 1 :(得分:0)

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

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