尝试将Yelp API用于business_id以外的其他用途

时间:2018-07-30 21:09:27

标签: python-3.x

我是一名学生,只有几周学习Python的经验,所以请多多包涵。我在此链接中找到了一个很好的答案,因为该链接最初用于Yelp的v3 API,至少可以通过business_id使其成功发出请求:How to use Yelp's new API

但是,除了使用上面提供的代码的评论(除了下面的代码确实可以在这里粘贴,这不是我需要的功能之外),我似乎无法弄清楚如何通过评论进行搜索。

import requests
import yelp
from config import api_key

API_KEY = api_key
API_HOST = 'https://api.yelp.com'
BUSINESS_PATH = '/v3/businesses/'

def get_business(business_id):
    business_path = BUSINESS_PATH + business_id
    url = API_HOST + business_path + '/reviews'
    headers = {'Authorization': f"Bearer {API_KEY}"}

response = requests.get(url, headers=headers)

return response.json()

results = get_business('the-white-horse-pub-kansas-city')
pprint(results)

同样,如果您仅按名称查找一个地方,该代码也可以工作。但是,当我尝试使用url函数中的“ / reviews”以外的其他内容(例如“ search”或“ term”)或Yelp Fusion API文档(https://yelp.com/developers/documentation/v3/business_search)以外的其他内容时,我什么也收不到拉。我的目的是在本地拉一堆啤酒厂,然后最终将它们放入数据框,但是除了“审阅”之外,我无法确定要使用哪些参数或代码。

1 个答案:

答案 0 :(得分:0)

我相信我找到了一个答案,如果您将第一个项目添加到依赖项而将较低的项目添加为单独的功能,则至少可以查找类型:

BUSINESS_PATH_CAT = '/v3/categories/'

def get_all_categories(alias):
url = API_HOST + BUSINESS_PATH_CAT + alias
headers = {'Authorization': f"Bearer {API_KEY}"}
response = requests.get(url, headers=headers)
return response.json()

results = get_all_categories('brewpubs')
pprint(results)

但是,除此之外,在Yelp Fusion的身份验证指南中,它讨论了如何使用Postman。如果您是新手,则进行设置可以节省很多时间,因为它使我可以实际看到HTTP的用语,以及如何将其分为搜索字词以及与API文档相比如何添加它们。