Scrapers
Food delivery scrapers
Zomato and Uber Eats, with city listings plus full restaurant menus.
Zomato
from pyscrappy import ZomatoScraper
with ZomatoScraper() as scraper:
result = scraper.scrape(city="bangalore", max_results=20)Uber Eats: city listings + full menus
The Uber Eats scraper lists restaurants for a city in any country Uber Eats operates
in, then fetches the full menu of any restaurant. Pass the country's locale.
from pyscrappy import UberEatsScraper
with UberEatsScraper(locale="gb") as scraper:
result = scraper.scrape(city="London", max_results=30)
store = result.data[0]
menu = scraper.get_menu(store["url"]) # items with prices
for item in menu.data[0]["menu"]:
print(item["name"], item["price"])The workflow is two steps:
.scrape(city=...)returns restaurants (name, ETA, delivery fee, and a storeurl)..get_menu(store_url)returns that restaurant's menu items and prices.
Set locale to the country you're querying (e.g. "gb", "us", "in"). The city
must be one where Uber Eats delivers, or the result will be empty.