You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Yelp API获取超过3条评论?纽约诊所评论获取问题

解决Yelp API仅返回前3条诊所评论的问题

看起来你碰到了Yelp API的一个常见限制——它的Reviews端点(/v3/businesses/{id}/reviews)默认最多只返回3条评论,这是官方API的设计规则。不过先看看你的代码里几个需要修正的地方,再聊聊怎么最大化获取评论的可能性。

首先,你的代码里有个明显的配置错误:

API_HOST = 'https://api.yelp.com/reviews'

这不对,API_HOST应该只是域名api.yelp.com,完整的请求URL应该是https://api.yelp.com/v3/businesses/{business_id}/reviews。你把路径和主机地址混在一起了,这可能导致请求本身就存在问题。

接下来,正确的调用流程应该是这样的:

  1. 先通过/v3/businesses/search端点找到目标诊所的business_id(你代码里的这个路径配置是没问题的)
  2. 用拿到的business_id调用/v3/businesses/{business_id}/reviews端点获取评论

不过要重点说明:Yelp的Reviews API确实没有提供获取更多评论的参数,它最多只返回3条最新的评论。如果你的需求是获取更多评论,目前Yelp官方API没有直接支持这个功能——你可能需要考虑这些替代方案:

  • 若只是个人参考,可直接查看该诊所的Yelp网页版评论,但注意不要违反Yelp的robots协议进行爬取(这属于违规行为)
  • 如果是商业用途,可以联系Yelp的企业团队,询问是否有更高权限的API访问渠道

这里给你修正后的代码示例,确保能正确调用Reviews端点:

import http.client
import json

api_key = 'MY API KEY'
API_HOST = 'api.yelp.com'
BUSINESS_REVIEWS_PATH = '/v3/businesses/{}/reviews'  # 后续替换为实际诊所的business_id

headers = {
    'Authorization': f'Bearer {api_key}',
}

def get_business_reviews(business_id):
    conn = http.client.HTTPSConnection(API_HOST)
    path = BUSINESS_REVIEWS_PATH.format(business_id)
    conn.request('GET', path, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode())
    conn.close()
    return data

# 假设你已经通过search接口拿到了诊所的business_id
clinic_business_id = 'your-clinic-business-id-here'
reviews = get_business_reviews(clinic_business_id)
print(json.dumps(reviews, indent=2))

运行这段代码后,你会得到包含3条评论的响应,这是当前Yelp API允许返回的最大评论数量。如果需要更多评论资源,只能通过Yelp官方的商业合作渠道申请更高权限。

内容的提问来源于stack exchange,提问作者user9519372

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:25:45