我对编程还很陌生,所以我确信这不正确,但根据我的研究,这是我能做的最好的事情。谢谢。
import pandas as pd
import numpy as np
import requests
import yelp
requests.get(https://api.yelp.com/v3/autocomplete?text=del&latitude=37.786882&longitude=-122.399972,headers={'Authorization: Bearer <API KEY that I have>'})
我的菜鸟 self 告诉我这是一本字典
headers={'Authorization: Bearer <API KeY>'}
我知道这可能 100% 错误,所以我真的很想了解更多有关在 Python 中使用 Rest API 的信息。我只是把这作为一个个人项目来做。我的总体目标是能够通过 API 访问 yelps 公共(public)数据。例如,我想获取企业 X 的评论。
更新
requests.get("https://api.yelp.com/v3/autocomplete?text=del&latitude=37.786882&longitude=-122.399972",headers={'Authorization: Bearer <API KEY>'})
我现在收到以下错误
AttributeError: 'set' object has no attribute 'items'
最佳答案
你绝对不是100%错@g_altobelli!
让我们以获取 X 企业的评论为例,其中 X 是我最喜欢的餐厅之一——旧金山的 la taqueria。他们的餐厅 ID(可以在其评论页面的 URL 中作为最后一个元素找到)是 la-taqueria-san-francisco-2
。
现在我们的代码:
您使用请求的想法是正确的,我认为您的参数可能略有偏差。最初拥有一些标题会很有帮助。这是我添加的内容:
import requests
API_KEY = "<my api key>"
API_HOST = 'https://api.yelp.com'
BUSINESS_PATH = '/v3/businesses/'
然后我创建了一个函数,它接收业务 ID 并返回基本数据的 json 化结果。看起来像这样:
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('la-taqueria-san-francisco-2')
print(results)
我得到的输出是 json,大致如下所示:
{'评论': [{'id': 'pD3Yvc4QdUCBISy077smYw', 'url': 'https://www.yelp.com/biz/la-taqueria-san-francisco-2?hrid= pD3Yvc4QdUCBISy077smYw&adjust_creative=hEbqN49-q6Ct_cMosX68Zg&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_reviews&utm_source=hEbqN49-q6Ct_cMosX68Zg', 'text': '我第二次来这里..\n我喜欢这里的墨西哥卷饼,它有独特的新鲜味道。我们点了 super 牛排卷饼,它确实做到了不让人失望!一切...}
这有帮助吗?如果您还有其他问题,请告诉我。
关于python - 如何使用 Yelp 的新 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49502551/