簡體   English   中英

如何從 Yelp API 請求中獲得超過 3 條評論

[英]How to get more than 3 reviews from Yelp API request

我想通過 Yelp API 檢索紐約一家診所的評論。 但是,API 似乎只返回前三個評論。

我的代碼

# Finding reviews for a particular clinic
import http.client
import json
import urllib.parse

api_key= 'MY API KEY'

API_HOST = 'https://api.yelp.com/reviews'
SEARCH_PATH = '/v3/businesses/search'
BUSINESS_PATH = '/v3/businesses/'  
# Business ID will come after slash.


headers = {
'Authorization': 'Bearer %s' % api_key,
}

#need the following parameters (type dict) 
params = {'name':'MinuteClinic', 'address1':'241 West 57th St', 'city':'New York', 'state':'NY', 'country':'US'}


param_string = urllib.parse.urlencode(params)
conn = http.client.HTTPSConnection("api.yelp.com")
conn.request("GET", "/v3/businesses/matches/best?"+param_string, headers=headers)

res = conn.getresponse()
data = res.read()
data = json.loads(data.decode("utf-8"))
print(data)


b_id = data['businesses'][0]['id']

r_url = "/v3/businesses/" + b_id + "/reviews"    #review request URL creation based on business ID
conn.request("GET",r_url,headers=headers)
rev_res = conn.getresponse()     #response and read functions needed else error(?)
rev_data = rev_res.read()
yelp_reviews = json.loads(rev_data.decode("utf-8"))


print(yelp_reviews)
print(len(yelp_reviews))

有沒有辦法獲得所有評論? 太感謝了。

正如您可能在Yelp API 文檔中看到的那樣,目前無法使用您正在使用的業務評論端點 ( /businesses/{id}/reviews ) 為單個企業檢索三個以上的評論。

Business Review 端點唯一接受的參數是locale

此外,該端點的文檔的第一句是

此端點最多返回三個按Yelp 的默認排序順序排序的給定業務的評論摘錄。

因此,目前,Yelp 似乎只通過他們的 API 公開每個企業最多三個評論。 考慮向Yelp API 的 GitHub 存儲庫提交功能請求。

我討厭 Yelp,我也討厭 Google 遵循套件並限制返回的評論數量。 評論是公開的,他們不願意讓程序化訪問來獲得所有評論,這是遲鈍的; 他們想知道為什么開發人員必須創建解決方法來繞過這些限制。

任何人; 我為我的一個 API 創建了一個臨時 API 密鑰; 這個將從任何 Yelp 個人資料中獲取您需要的所有評論;

示例調用:

http://api.reviewsmaker.com/yelp/?url=https://www.yelp.com/biz/chicha-brooklyn&api_key=4b3d3d92-27f4-4eaa-bb8b-281cb8aa3860

參數:

url - 獲取(必需)api_key 評論所需的 yelp 業務頁面的完整 URL - 使用上面鏈接中的那個,我將其設置為過期(記住這一點)評級 - 您可以指定 &rating=5 僅拉 5 星評論,或 &rating=2 只拉 2 星評論等; 這是可選的,將其留空將返回所有評論

去拿你診所的東西:)

Yelp 的Fusion API允許用戶為一個關鍵字搜索多達 1000 個企業列表,但在評論方面,Yelp 並不那么慷慨。

然而,訪問他們的 API 幾乎是不可能的。 我認識很多人申請都沒有成功。

唯一剩下的選擇是從 Yelp 上抓取評論。 雖然 Yelp 可能聲稱他們不會“允許”對其數據進行任何抓取,但他們無法強制執行,因為抓取公共數據仍然是合法的。

以下技術可用於為 Yelp 評論編寫爬蟲:

  • 刮擦(Python)
  • 請求和 lxml (Python)
  • Cheerio (節點)

如果你沒有時間也不介意花幾塊錢。 我還構建了一項服務,可以為您抓取 Yelp 評論並將其作為 API 響應返回給 Yelp 上的任何列表。

它被稱為Yelp 評論 API ,可用於免費抓取多達 10,000 條評論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM