Jun-21-2020, 10:09 PM
hey, i just learned about zomato data scraping. then I practice using one of the codes on github.
import requests
import csv
with open("output_restaurant.csv", "a", newline='') as fp:
wr = csv.writer(fp, dialect='excel')
url = "https://developers.zomato.com/api/v2.1/search?entity_id=4&entity_type=city&q=Bangalore&start=80"
header = {"Accept": "application/json", "user-key": "API_KEY", "User-agent": "curl/7.43.0"}
resp = requests.get(url, headers=header).json()
for i in range(0, 20):
rest = resp['restaurants'][i]
res_id = rest['restaurant']['id']
name = rest['restaurant']['name']
locality = rest['restaurant']['location']['locality']
cuisines = rest['restaurant']['cuisines']
average_cost_for_two = rest['restaurant']['average_cost_for_two']
rating = rest['restaurant']['user_rating']['aggregate_rating']
votes = rest['restaurant']['user_rating']['votes']
list_ = [res_id, name, locality, cuisines, average_cost_for_two, rating, votes]
wr.writerow(list_)when run the first time an error like this appearsOutput:Traceback (most recent call last):
File "Zomato_API.py", line 10, in <module>
rest = resp['restaurants'][i]
KeyError: 'restaurants'then some time the error changes toOutput:Traceback (most recent call last):
File "Zomato_API.py", line 10, in <module>
rest = resp['restaurants'][i]
IndexError: list index out of rangefrom the error, what is the way to fix it?
