python - 如何使用 Yelp 的新 API

标签 python python-3.x api yelp

我对编程还很陌生,所以我确信这不正确,但根据我的研究,这是我能做的最好的事情。谢谢。

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/

相关文章:

python - 无法弄清楚如何打印最小二乘误差

python - Python 映射中的副作用(Python "do" block )

python - 用 Python 计算密度

javascript - express.session 在 typescript 中未定义

c# - Azure Web API 访问 : Which URL should I use, Web 服务 URL 或网关 URL?

python - Pandas:检查两个数据帧是否匹配值,然后根据标签填充一行

python - python中嵌套函数的变量范围

python - PyMC3 和 Arviz : Visualizing highest posterior density for multiple conditions using arviz plot_hpd

python - 正确使用range(),为什么pylint报错: range built-in referenced when not iterating

Linux - 特定的 API 引用