Amazing-Python-Scripts

Форк
0
68 строк · 2.8 Кб
1
# Imports
2
# for soup find
3
from bs4 import BeautifulSoup as bs
4
# uses a automated web browser for automations
5
from selenium import webdriver
6
from selenium.webdriver.chrome.options import Options
7
from selenium.webdriver.chrome.service import Service
8
from selenium.webdriver.common.by import By
9
from webdriver_manager.chrome import ChromeDriverManager
10

11

12
# Chrome options for selenium server
13
chrome_options = webdriver.ChromeOptions()
14
chrome_options.add_argument("--headless")
15
chrome_options.add_argument("--disable-dev-shm-usage")
16
chrome_options.add_argument("--no-sandbox")
17

18

19
def get_Zomato_menu(zlink):
20
    driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
21
    driver.get(zlink)
22
    current_zomato_data = {}
23
    for i in range(2, 20):
24
        try:
25
            category_name = driver.find_element(
26
                by=By.XPATH, value=f"/html/body/div[1]/div/main/div/section[4]/section/section[2]/section[{i}]/h4").get_attribute("innerHTML")
27
            if category_name != "" and category_name != "Recommended":
28
                items = []
29
                for j in range(1, 25):
30
                    try:
31
                        item_name = driver.find_element(
32
                            by=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")
33
                        try:
34
                            item_price = driver.find_element(
35
                                by=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")
36
                        except:
37
                            item_price = driver.find_element(
38
                                by=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")
39
                        item_price = item_price[1:]
40
                        listing = [item_name, item_price]
41
                        items.append(listing)
42
                    except:
43
                        pass
44
                category_name_data = {}
45
                for i in items:
46
                    item_name = i[0]
47
                    item_price = i[1]
48
                    category_name_data[item_name] = item_price
49
                current_zomato_data[category_name] = category_name_data
50
        except:
51
            pass
52
    return current_zomato_data
53

54

55
print()
56

57
if __name__ == "__main__":
58
    print("Enter the URL of Zomato's restraunt: ")
59
    zlink = str(input())
60
    data = get_Zomato_menu(zlink)
61
    for i in data:
62
        category_name = i
63
        print("## ", category_name)
64
        print()
65
        items = data.get(i)
66
        for j in items:
67
            print(j, "  : ", items.get(j))
68
        print()
69

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.