Yes it is a little unorthodox, and there seems to be a special case under "MIX CLASSICS" items, that doesnt follow the same pattern as the others and donesn't have a description. So you'll have to handle that some way (which I did). But also with the Toppings layout (which I hadn't manipulated...you can do that part how you want). But this should get you going in the right direction. Also, no need to use Selenium.
Code:
from bs4 import BeautifulSoup
import requests
import pandas as pd
url="https://www.kenkosushi.com.ar/menu/"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}
response = requests.get(url, headers=headers)
# Make a GET request to fetch the raw HTML content
html_content = response.text
# Parse the html content
soup = BeautifulSoup(html_content, 'html.parser')
alpha = soup.find_all("ul", attrs={"class": "menu"})
rows = []
for beta in alpha:
category = beta.find_previous('h2').text.strip()
items = beta.find_all('li')
for each in items:
if 'MIX CLASSIC' in each.text:
special_cases = each.find_all('span',{'class':'price'})
for each1 in special_cases:
product = each1.previous_sibling.strip()
price = each1.text
try:
desc = each.find('div',{'class':'detail'}).text.strip()
except:
desc = ''
row = {'category':category,
'product':product,
'price':price,
'description':desc}
rows.append(row)
else:
product = each.text.split('$')[0].strip()
price = each.find('span',{'class':'price'}).text.strip()
try:
desc = each.find('div',{'class':'detail'}).text.strip()
except:
desc = ''
row = {'category':category,
'product':product,
'price':price,
'description':desc}
rows.append(row)
df = pd.DataFrame(rows)
df.to_csv('products.csv', index=False, encoding='utf-8')
Output:
print (df.to_string())
category product price description
0 Entradas TIRADITOS DE SALMÓN $490 Láminas de salmón, salsa de maracuyá, batata frita.
1 Entradas TIRADITO DE PESCADO BLANCO $490 Láminas de pescado blanco, salsa maracuyá y batata frita.
2 Entradas TIRADITO NIKKEI DE SALMÓN $490 Laminas de salmón, salsa nikkei y cilantro.
3 Entradas TIRADITO NIKKEI DE PESCADO BLANCO $490 Láminas de pescado blanco, salsa nikkei y cilantro.
4 Entradas TIRADITO ACEVICHADO $490 Pescado blanco y salmón con salsa acevichado.
5 Entradas HARUMAKIS $210 4 Arrolladitos Primavera . Acompañado con Salsa Agridulce.
6 Entradas LANGOSTINO FURAI $470 Langostinos jumbo apanados en panko. Servidos con aderezo especial.
7 Kenkos CLASSIC $540 Base de arroz japonés, salmón, palta y queso Philadelphia
8 Kenkos CRISPY $480 Base de arroz japonés, salmón panizado en panko, palta y queso Philadelphia
9 Kenkos SHRIMP $540 Base de arroz japonés, langostinos panizados, palta y Philadelphia
10 Kenkos TERIYAKI $440 Base de arroz japonés, pollo teriyaki, palta y Philadelphia
11 Kenkos VEGGIE $400 Base de clásico arroz japonés combinado con palta, vegetales frescos y Philadelphia.
12 Kenkos GRILL $400 Base de clásico arroz japonés combinado con salmón grillado, procesado y especiado con verdeo, la palta mejor seleccionada y Philadelphia.
13 Kenkos MIX CLASSIC / CRISPY $540
14 Kenkos MIX CLASSIC /SHRIMP $540
15 Kenkos Toppings $50
16 Kenkos (Batata Frita, Papa Frita)\nAGRANDÁ TU KENKO110 110
17 Kenkos AGRANDÁ TU KENKO110 110
18 Rolls CALIFORNIA ROLL(10 UNIDADES) $400 Kanikama, palta y Philadelphia.
19 Rolls TUNA ROLL (10 UNIDADES) $400 Atún, Philadelphia y palta.
20 Rolls NEW YORK ROLL (10 UNIDADES) $460 Salmón, palta y sésamo.
21 Rolls PHILA ROLL (10 UNIDADES) $460 Salmón, queso, negui y ciboulette.
22 Rolls NEW PHILA ROLL (10 UNIDADES) $460 Salmón, palta, Philadelphia.
23 Rolls MAKI PHILADELPHIA (10 UNIDADES) $460 Salmón y Philadelphia.
24 Rolls VEGGIE ROLL (10 UNIDADES) $400 Hongos shiitake, Philadelphia, palta, tzuma de zucchini y zanahoria
25 Rolls SENTOIA ROLL (10 UNIDADES) $460 Salmón y palta coronado en sentoia
26 Rolls KENKO ROLL (10 UNIDADES) $460 Langostino apanado con panko y Philadelphia. Cubierto por una lonja de salmón, coronado con batata frita y salsa maracuyá
27 Rolls GREAT ROLL (10 UNIDADES) $475 Salmón, langostino, Philadelphia y palta
28 Rolls JUVENTUS ROLL (10 UNIDADES) $475 Salmón crispy, Philadelphia y palta.
29 Rolls MANGO ROLL (10 UNIDADES) $460 Salmón, Philadelphia y palta. Coronado con una lonja de mango.
30 Rolls ROLL DOS SAKE (10 UNIDADES) $475 Palta con un tartar de salmón nikkei con ciboulette, cobertura de salmón, flameado con salsa oriental.
31 Rolls ROLL ACEVICHADO (10 UNIDADES) $460 Langostinos apanados, palta. Cubiertos con salmón y salsa acevichada con chiffonade de albahaca y cilantro
32 Nuevos Rolls CAPRESSE HOT ROLL $475 Salmón, queso especial, tomate y albahaca.
33 Nuevos Rolls SALMÓN HOT ROLL $475 Salmón , Philadelphia, palta.
34 Nuevos Rolls EBI HOT ROLL $475 Langostinos, Philadelphia, palta.
35 Nuevos Rolls BUENOS AIRES ROLL $475 Salmón, langostinos, Philadelphia y palta. Cubierto de salmón y sésamo mixto.
36 Nuevos Rolls SHIROMI ROLL $475 Langostinos rebozados y palta. Cubierto de pescado blanco y salsa acevichada.
37 Nuevos Rolls TAMAGO ROLL $475 Lámina de Tamago, salmón, Philadelphia, palta y arroz.
38 Nuevos Rolls IBIZA ROLL $475 Langostino furai, Philadelphia, palta y arroz. Cubierto en salmón y salsa especial huancaina.
39 Nuevos Rolls TAGNA ROLL $475 Salmón, Philadelphia, palta y arroz. Sin alga.
40 Nuevos Rolls TEMPURA ROLL $475 Philadelphia y langostinos en tempura. Cubierto con palta y salsa nikkei.
41 Nuevos Rolls TOKIO ROLL $475 Langostino al vapor, Philadelphia, verdeo y palta. Cubierto con salmón flameado, ron, azúcar negra y salsa maracuyá .
42 Nuevos Rolls INCA ROLL $475 Queso nikkei, langostino rebozado. Cubierto con pescado blanco y salsa acevichada.
43 Nuevos Rolls NIGUIRI DE PESCADO BLANCO (4 UNIDADES) $245 Cortes de pescado blanco sobre canape de arroz
44 Nuevos Rolls NIGUIRI DE SALMÓN (4 UNIDADES) $245 Cortes de salmón sobre canapé de arroz
45 Nuevos Rolls NIGUIRI DE SALMÓN FLAMEADO (4 UNIDADES) $245 Cortes de salmón sobre canapé de arroz. Flameados.
46 Nuevos Rolls NIGUIRI DE LANGOSTINO (4 UNIDADES) $245 Langostino jumbo con cola sobre canapé de arroz.
47 Nuevos Rolls GEISHA SALMÓN (4 UNIDADES) $245 Pieza de salmón por fuera, palta y queso por dentro
48 Nuevos Rolls SASHIMI SALMÓN (4 UNIDADES) $245 Cortes del salmón rosado
49 Nuevos Rolls SASHIMI SHIROMI (4 UNIDADES) $245 Cortes selectos de pescado blanco
50 Nuevos Rolls SASHIMI SPACE (4 UNIDADES) $245 Cortes selectos de salmón sellado con togarashi
51 Combinados de sushi 15 HOT ROLL $630 A eleccion del chef, calientes.
52 Combinados de sushi 15 PIEZA SALMÓN $690 5 Dos Sake, 5 New Phila, 3 Niguiri de Salmón y 2 Geishas.
53 Combinados de sushi 30 PIEZAS SALMÓN $1350 5 Tagna Roll, 5 New Phila, 3 Niguiri Flameado, 2 Geishas\n5 Dos Sake, 5 Juventus Roll y 5 Mango Roll.
54 Combinados de sushi 45 PIEZAS SALMÓN $1900 5 Tagna Rolla, 5 New Phila, 2 Niguiri Flameado, 2 Niguiri Salmon\n5 Dos Saje, 5 Mango Roll, 2 Sashimi Salmón, 5 Juventus Rol\n5 Tamago Rol, 4 Geishas y 5 Phila Roll.
55 Combinados de sushi 15 PIEZAS PREMIUM $720 5 Kenko Roll, 5 Shiromi Roll, 2 Niguiri Langostino,\n2 Sashimi Space y Niguiri de Pescado Blanco
56 Combinados de sushi 30 PIEZAS PREMIUM $1390 5 Kenko Roll, 5 Shiromi Roll, 5 Tagna Roll, 5 Tempura Roll, 2 Niguiri Langostino, 3 Sashimi Space, 5 Tokio Roll
57 Combinados de sushi 45 PIEZAS PREMIUM $2000 5 Kenko Roll, 5 Shiromi Roll, 5 Tagna Roll, 5 Tempura Roll\n3 Niguiri de Pescado Blanco, 2 Sashimi Space 2 Niguiri Furay, 3 Niguiri Langostino\n5 Tokio Roll, 5 Tamago Roll y 5 Mango Roll.
58 Temakis TEMAKI SALMÓN $280 Cono de Alga Nori relleno de Salmón, Philadelphia y Palta
59 Temakis TEMAKI SHRIMP $280 Cono de Alga Nori relleno de Langostino Furai, Philadelphia y Palta
60 Temakis TEMAKI CRISPY $280 Cono de Alga Nori relleno de salmón crispy, Philadelphia y palta.
61 Ceviches CEVICHE DE SALMÓN $550 Salmón, cilantro, ají limo, cebolla morada, leche de tigre y salsa de ostras.
62 Ceviches CEVICHE CLÁSICO $550 Pescado blanco, cilantro, ají limo, cebolla morada y leche de tigre.
63 Ceviches CEVICHE JALAPEÑO $550 Pescado blanco, cilantro, ají limo, cebolla morada, crema de jalapeño y leche de tigre
64 Ceviches WOK DE VEGETALES $510 Arroz, mix de vegetales, salsa de soja y salsa de ostras.
65 Ceviches WOK DE POLLO $510 Arroz, mix de vegetales, pollo, salsa de soja y salsa de ostras.
66 Ceviches WOK DE SALMÓN $530 Arroz, mix de vegetales , salmón, salsa de soja y salsa de ostras.
67 Ceviches WOK DE LANGOSTINOS $530 Arroz, mix de vegetales, langostinos, salsa de soja, salsa de ostras.
68 Ceviches SALMÓN A LA PLANCHA CON GUARNICION DE VEGETALES SALTEADOS $830 Mix de vegetales , salmón, salsa de soja y salsa de ostras.
69 Bebidas COCA COLA 354ML $100
70 Bebidas COCA COLA LIGHT 354 ML $100
71 Bebidas COCA COLA ZERO 354 ML $100
72 Bebidas SPRITE 354 ML $100
73 Bebidas SPRITE SIN AZUCAR 354 ML $100
74 Bebidas LEVITÉ $90
75 Bebidas LEVITÉ CERO $90
76 Bebidas H20 $90
77 Bebidas AGUA $80
78 Bebidas AGUA CON GAS $80
79 Salsas TERIYAKI $60 Soja reducida con azúcares y especias
80 Salsas KENKO $60 Una perfecta combinacion de sabores peruanos
81 Salsas BUENOS AIRES $60 Soja reducida con azúcares y sesamo tostado
82 Salsas AGRIDULCE $60 Suave equilibro de tomates seleccionados y duraznos frescos