【发布时间】:2018-08-19 07:41:30
【问题描述】:
我在 python 中编写了一个脚本来抓取一些项目 names 以及 review texts 和 reviewers 使用他们的 api 从网页连接到每个项目名称。问题是我的下面的脚本可以部分地做这些事情。我需要有条不紊地做这些。
例如,在每个项目name 中有多个review texts 和reviewer names 连接到它。我希望将它们放在以下列中:
Namereview textreviewerreview textreviewer-----
基本上,我不知道如何在我的脚本中以正确的方式使用已经定义的for loop。最后,很少有项目names 没有任何reviews 或reviewers,所以当它没有找到任何reviews 时代码会中断等等。
这是我目前的方法:
import requests
url = "https://eatstreet.com/api/v2/restaurants/{}?yelp_site="
res = requests.get("https://eatstreet.com/api/v2/locales/madison-wi/restaurants")
for item in res.json():
itemid = item['id']
req = requests.get(url.format(itemid))
name = req.json()['name']
for texualreviews in req.json()['yelpReviews']:
reviews = texualreviews['message']
reviewer = texualreviews['reviewerName']
print(f'{name}\n{reviews}\n{reviewer}\n')
如果我在 for 循环之外使用 print 语句,它只会给我一个 review 和 reviewer。
任何解决此问题的帮助将不胜感激。
【问题讨论】:
标签: python json python-3.x web-scraping