diff --git a/BozzaScrapeJE.py b/BozzaScrapeJE.py index 1d6dc72..bf3b607 100644 --- a/BozzaScrapeJE.py +++ b/BozzaScrapeJE.py @@ -4,62 +4,57 @@ import cloudscraper nome=[] desc=[] -desc2=[] +npezzi=[] prezzo=[] n=0 #scrape html -scraper = cloudscraper.create_scraper(browser={'browser': 'firefox','platform': 'windows','mobile': False}) -page = scraper.get("https://www.justeat.it/restaurants-saporedialeppo/menu").content -with open('aleppo.html', 'wb') as f: - f.write(page) +# scraper = cloudscraper.create_scraper(browser={'browser': 'firefox','platform': 'windows','mobile': False}) +# page = scraper.get("https://www.justeat.it/restaurants-saporedialeppo/menu").content +# with open('aleppo.html', 'wb') as f: +# f.write(page) with open('aleppo.html', 'rb') as f: page = f.read() soup = BeautifulSoup(page, "html.parser") -menu = soup.find(attrs={"data-test-id": "menu-item-name"}) +menu = soup.find(attrs={"data-test-id": "menu-item"}) -#riempie la lista "nome" con i nomi dei prodotti -for menu in soup.find_all(attrs={"data-test-id": "menu-item-name"}): - nome.append(menu.text.splitlines()[2]) - nome[n]=nome[n].lstrip() - n=n+1 -n=0 -#riempie la lista "desc" con le descrizioni dei prodotti -for menu in soup.find_all(attrs={"data-test-id": "menu-item-description"}): - if menu.text.find("pezza") > 0: #poichè c'è un piatto con lo sPEZZAtino - desc.append(menu.text.splitlines()[1]) - desc[n]=desc[n].lstrip() - desc2.append("") - n=n+1 - elif menu.text.find("pezz") > 0: - desc2.append(menu.text.splitlines()[1]) - desc2[n]=desc2[n].lstrip() - desc.append("") - n=n+1 +for menu in soup.find_all(attrs={"data-test-id": "menu-item"}): + att=menu + + #riempie la lista "nome" + for att in menu.find(attrs={"data-test-id": "menu-item-name"}): + if att != " ": + nome.append(att.lstrip().splitlines()[0]) + + #riempie la lista "desc" + att=menu.find("p", class_="c-menuItems-description") + if att != None: + for att in menu.find("p", class_="c-menuItems-description"): + desc.append(att.lstrip().splitlines()[0]) else: - desc.append(menu.text.splitlines()[1]) - desc[n]=desc[n].lstrip() - desc2.append("") - n=n+1 -n=0 + desc.append(None) -#riempie la lista "prezzo" con le descrizioni dei prodotti -for menu in soup.find_all(class_="c-menuItems-price notranslate"): - prezzo.append(menu.text.splitlines()[1]) - prezzo[n]=prezzo[n].lstrip() - n=n+1 -n=0 + # #riempie la lista "npezzi" + # for att in menu.find_next(attrs={"data-test-id": "menu-item-description"}): + # npezzi.append(att.lstrip().splitlines()[0]) + #riempie la lista "prezzo" + for att in menu.find("p", class_="c-menuItems-price notranslate"): + prezzo.append(att.lstrip().splitlines()[0]) + +#stampa liste for x in range(len(nome)): + print("\n") print(nome[x]) print(desc[x]) - print(desc2[x]) - print(prezzo[x],"\n") +# print(npezzi[x]) + print(prezzo[x]) -print(len(nome)) -print(len(desc)) -print(len(desc2)) -print(len(prezzo)) \ No newline at end of file +#stampa lunghezza liste +print("\nlista nomi:",len(nome)) +print("lista desc:",len(desc)) +print("lista npezzi:",len(npezzi)) +print("lista prezzi:",len(prezzo))