如何使用 Yelp 的新 API

How to use Yelp's new API

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

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>'})

小白告诉我这是字典

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.

现在我们的代码:

您使用请求的想法是正确的,我认为您的参数可能略有偏差。最初有一些 headers 是有帮助的。这是我添加的内容:

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,大致如下所示:

{'reviews': [{'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': 'My second time here.. \nI love the Burito here it has the distinct taste of freshness.. we order super steak burito and boy it did not disappoint! everything...}

这有帮助吗?如果您还有其他问题,请告诉我。