Amazing-Python-Scripts
68 строк · 2.8 Кб
1# Imports
2# for soup find
3from bs4 import BeautifulSoup as bs4# uses a automated web browser for automations
5from selenium import webdriver6from selenium.webdriver.chrome.options import Options7from selenium.webdriver.chrome.service import Service8from selenium.webdriver.common.by import By9from webdriver_manager.chrome import ChromeDriverManager10
11
12# Chrome options for selenium server
13chrome_options = webdriver.ChromeOptions()14chrome_options.add_argument("--headless")15chrome_options.add_argument("--disable-dev-shm-usage")16chrome_options.add_argument("--no-sandbox")17
18
19def get_Zomato_menu(zlink):20driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))21driver.get(zlink)22current_zomato_data = {}23for i in range(2, 20):24try:25category_name = driver.find_element(26by=By.XPATH, value=f"/html/body/div[1]/div/main/div/section[4]/section/section[2]/section[{i}]/h4").get_attribute("innerHTML")27if category_name != "" and category_name != "Recommended":28items = []29for j in range(1, 25):30try:31item_name = driver.find_element(32by=By.XPATH, value=f"/html/body/div[1]/div/main/div/section[4]/section/section[2]/section[{i}]/div[2]/div[{j}]/div/div/div[2]/div/div/h4").get_attribute("innerHTML")33try:34item_price = driver.find_element(35by=By.XPATH, value=f"/html/body/div[1]/div/main/div/section[4]/section/section[2]/section[{i}]/div[2]/div[{j}]/div/div/div[2]/div/div/div[2]/span").get_attribute("innerHTML")36except:37item_price = driver.find_element(38by=By.XPATH, value=f"/html/body/div[1]/div/main/div/section[4]/section/section[2]/section[{i}]/div[2]/div[{j}]/div/div/div[2]/div/div/div/span").get_attribute("innerHTML")39item_price = item_price[1:]40listing = [item_name, item_price]41items.append(listing)42except:43pass44category_name_data = {}45for i in items:46item_name = i[0]47item_price = i[1]48category_name_data[item_name] = item_price49current_zomato_data[category_name] = category_name_data50except:51pass52return current_zomato_data53
54
55print()56
57if __name__ == "__main__":58print("Enter the URL of Zomato's restraunt: ")59zlink = str(input())60data = get_Zomato_menu(zlink)61for i in data:62category_name = i63print("## ", category_name)64print()65items = data.get(i)66for j in items:67print(j, " : ", items.get(j))68print()69