如何从 Yelp API 请求获得超过 3 条评论

use*_*372 5 python api yelp

我想通过 Yelp API 检索纽约一家诊所的评论。然而,该 API 似乎只返回前三个评论。

我的代码

# Finding reviews for a particular clinic
import http.client
import json
import urllib.parse

api_key= 'MY API KEY'

API_HOST = 'https://api.yelp.com/reviews'
SEARCH_PATH = '/v3/businesses/search'
BUSINESS_PATH = '/v3/businesses/'  
# Business ID will come after slash.


headers = {
'Authorization': 'Bearer %s' % api_key,
}

#need the following parameters (type dict) 
params = {'name':'MinuteClinic', 'address1':'241 West 57th St', 'city':'New York', 'state':'NY', 'country':'US'}


param_string = urllib.parse.urlencode(params)
conn = http.client.HTTPSConnection("api.yelp.com")
conn.request("GET", "/v3/businesses/matches/best?"+param_string, headers=headers)

res = conn.getresponse()
data = res.read()
data = json.loads(data.decode("utf-8"))
print(data)


b_id = data['businesses'][0]['id']

r_url = "/v3/businesses/" + b_id + "/reviews"    #review request URL creation based on business ID
conn.request("GET",r_url,headers=headers)
rev_res = conn.getresponse()     #response and read functions needed else error(?)
rev_data = rev_res.read()
yelp_reviews = json.loads(rev_data.decode("utf-8"))


print(yelp_reviews)
print(len(yelp_reviews))
Run Code Online (Sandbox Code Playgroud)

有没有办法获得所有评论?太感谢了。

ndm*_*iri 2

正如您可能在Yelp API 文档中看到的那样,目前无法使用/businesses/{id}/reviews您正在使用的企业评论端点 ( ) 检索单个企业的超过三个评论。

业务评论端点唯一接受的参数是locale

此外,该端点的文档的第一句话是

此端点按Yelp 的默认排序顺序返回最多三个给定企业的评论摘录。

因此,目前 Yelp 似乎只通过其 API 公开每个企业最多 3 条评论。考虑向Yelp API 的 GitHub 存储库提交功能请求。