我已经编写了一个脚本,使用他们的api从yelp获取所有评论、评论员姓名和评分。我下面的脚本可以从该api生成三个评论、评论人姓名和评级。然而,在我使用chrome开发工具收集api的登录页中,我可以看到44篇这样的评论。我怎样才能得到所有的
这是我的尝试:
import requests
res = requests.get("https://eatstreet.com/api/v2/restaurants/40225?yelp_site=")
name = res.json()['name']
for texualreviews in res.json()['yelpReviews']:
reviewtext = texualreviews['message']
revname = texualreviews['reviewerName']
rating = texualreviews['rating']
print(f'{name}\n{reviewtext}\n{revname}\n{rating}\n')
正如我之前所说:我上面的脚本可以产生三个评论,而其中有44个。我怎么能把它们都抓起来
Yelp自己的API不允许查询超过3条评论;不管出于什么原因,他们限制了你可以得到的评论数量(就像Google限制他们的API只显示5条评论一样)。如果你正在刮,直接刮Yelp页面;你所点击的站点正在使用API显示3条评论(最多),并直接回调到Yelp站点(显示所有评论的地方);遗憾的是,没有一种本地方法可以从Yelp中提取所有评论
你在Chrome(https://eatstreet.com/api/v2/restaurants/40225?yelp_site=)中从Google的Developer Tools inspector查询的API URL正在调用Fusion的(Yelp的API)来提取JSON中的yelpReviews数组;默认情况下限制为3条,即使你注册了自己的Fusion应用程序,你也不能获得超过3条评论,这是Yelp设定的硬上限
您可以在那里搜索一些临时脚本,但是我看到许多人尝试创建库来提取API有限的审阅数据。一个很好的例子是我在这里写的:https://github.com/ilanpatao/Yelp-Reviews-API
最好的, 伊兰
相关问题 更多 >
编程相关推荐