1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| plat = "carbo-soleil"
url = "https://www.marmiton.org/recettes/recette_pates-a-la-carbonara-et-aux-legumes-du-soleil_58989.aspx"
# plat = "cookies"
# url = "https://www.marmiton.org/recettes/recette_cookies-maison_86989.aspx"
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get(url)
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "didomi-notice-agree-button"))).click()
images = driver.find_elements(by=By.XPATH, value='//*[@id="__next"]/div[3]/main/div/div/div[1]/div[1]/div[3]/img')
# print(images)
import urllib
src = []
for img in images:
src.append(img.get_attribute('src'))
try:
for i in range(10):
urllib.request.urlretrieve(str(src[i]),"{}-{}.jpg".format(plat,str(i)))
except:
pass
divers1 = driver.find_elements(by=By.XPATH, value="/html/body/div[2]/div[3]/main/div/div/div[1]/div[1]/div[4]")
divers1_splite = divers1[0].text.split("")
divers1_splite = [el.replace("\n","") for el in divers1_splite]
duree_prep, niveau, cout = map(str,divers1_splite)
# duree_prep, niveau, cout = [el for el in divers_splite]
print("=====================")
print(duree_prep, niveau, cout)
print("=====================")
nb_pers = driver.find_element(by=By.XPATH, value='//*[@id="__next"]/div[3]/main/div/div/div[1]/div[1]/div[6]/div[2]/div[1]/div/span[1]')
print("pour", nb_pers.text, "personnes")
print("=====================")
ingred = driver.find_elements(by=By.XPATH, value='//*[@id="__next"]/div[3]/main/div/div/div[1]/div[1]/div[6]/div[4]/div[2]')
oignon = """//*[@id="__next"]/div[3]/main/div/div/div[1]/div[1]/div[6]/div[4]/div[2]/div[2]/div/span/span/div[2]/span/span[2]"""
huile = """//*[@id="__next"]/div[3]/main/div/div/div[1]/div[1]/div[6]/div[4]/div[2]/div[3]/div/span/span/div[2]/span/span[2]"""
for el in ingred:
print(el.text, end = ', ')
print()
print("=====================")
ingredients = driver.find_elements(by=By.XPATH, value='//*[@id="__next"]/div[3]/main/div/div/div[1]/div[1]/div[6]/div[4]')
nb_ingred = len(ingredients)
print("nb d'ingredients : ", nb_ingred)
for el in ingredients:
print(el.text, end = ' - ')
print()
print("=====================")
print("essai try")
try:
for i in range(20):
ingredients = driver.find_elements(by=By.XPATH, value='//*[@id="__next"]/div[3]/main/div/div/div[1]/div[1]/div[6]/div[4]/div[2]/div[{}]'.format(str(i)))
for el in ingredients:
print(el.text, end = ' * ')
print()
print("-------------------------")
except:
pass
print("=====================")
print("recette :")
print()
tps_tot = driver.find_element(by=By.XPATH, value='//*[@id="__next"]/div[3]/main/div/div/div[1]/div[1]/div[8]/div[1]').text
print(tps_tot)
liste_tps=[0,0,0]
try:
for i in range(1,4):
tps = driver.find_elements(by=By.XPATH, value='//*[@id="__next"]/div[3]/main/div/div/div[1]/div[1]/div[8]/div[3]/div[{}]'.format(str(i)))
for el in tps:
liste_tps[i-1] = el.text.replace("\n","")
except:
pass
print(liste_tps)
tps_prep,tps_repos,tps_cuiss = [el for el in liste_tps]
print("=====================")
driver.close() |
Partager