Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从Yelp API请求中获得3个以上的审查_Python_Api_Yelp - Fatal编程技术网

Python 如何从Yelp API请求中获得3个以上的审查

Python 如何从Yelp API请求中获得3个以上的审查,python,api,yelp,Python,Api,Yelp,我想通过YelpAPI检索纽约一家诊所的评论。然而,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

我想通过YelpAPI检索纽约一家诊所的评论。然而,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))

有没有办法得到所有的评论?非常感谢你

正如您在上看到的,当前无法使用您正在使用的业务评论端点(
/businesss/{id}/reviews
)为单个业务检索三个以上的评论

Business Reviews端点唯一可接受的参数是
locale

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

此端点最多返回由订购的给定业务的三个审阅摘录


所以,在这个时候,Yelp似乎只通过他们的API公开每个企业最多三次评论。考虑向.

提交一个特性请求,我讨厌Yelp,我也讨厌谷歌跟随套件,而且还限制了评论的数量。评论是公开的,这是迟钝的,他们不愿意让程序访问来获取所有评论;他们想知道为什么开发人员必须创建变通方法来绕过这些限制

任何人;我为我的一个API创建了一个临时API密钥;这一个将获取所有评论你需要从任何Yelp配置文件

示例调用:

参数:

url-需要获取评论的yelp业务页面的完整url(必需) api_密钥-使用上面链接中的密钥,我将其设置为过期(请记住) 评级-您可以指定&rating=5以仅获取5星级评论,或&rating=2以仅获取2星级评论,以此类推;这是可选的,保留为空将返回所有评论


去拿你诊所的东西:)

如果你讨厌Yelp,那么不要回答Yelp问题。我的feed弹出了一个窗口,我想帮助OP:)你打算公开你的API吗?这将是完美的应用程序,我正在建设我在reviewsmaker.com:)我提出了一个公共演示,你可以使用:)同意。让我们继续为这件事哀嚎吧。以下是github上的线程(始于2016年):