PB de scraping d’une liste déroulante non renseignée.
Résolu/Fermé
JPL034
Messages postés
21
Date d'inscription
mardi 29 octobre 2013
Statut
Membre
Dernière intervention
25 septembre 2021
-
23 sept. 2021 à 23:55
JPL034 Messages postés 21 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 25 septembre 2021 - 25 sept. 2021 à 18:51
JPL034 Messages postés 21 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 25 septembre 2021 - 25 sept. 2021 à 18:51
A voir également:
- Liste déroulante excel (saisie 1ères lettres)
- Liste déroulante excel - Guide
- Excel liste déroulante en cascade - Guide
- Supprimer une liste déroulante excel - Forum Word
- Si et excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
4 réponses
yg_be
Messages postés
23337
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 novembre 2024
Ambassadeur
1 551
24 sept. 2021 à 10:19
24 sept. 2021 à 10:19
bonjour,
je ne comprends pas ce qu'est "ta requête python", ni qui va lui envoyer quoi?
peut-être que tu pourrais être plus concret en nous montrant ton programme.
Veux-tu que ton programme python sélectionne une des valeurs de la liste?
je ne comprends pas ce qu'est "ta requête python", ni qui va lui envoyer quoi?
peut-être que tu pourrais être plus concret en nous montrant ton programme.
Veux-tu que ton programme python sélectionne une des valeurs de la liste?
JPL034
Messages postés
21
Date d'inscription
mardi 29 octobre 2013
Statut
Membre
Dernière intervention
25 septembre 2021
35
Modifié le 24 sept. 2021 à 13:22
Modifié le 24 sept. 2021 à 13:22
Bonjour et merci de ta réponse.
Désolé d'avoir été brouillon dans ma demande.
Alors : Oui, je veux que mon programme python sélectionne une valeur de la liste.
En français, ça ferait : Sur le t-shirt "machin", dans la liste de sélection "taille", mets la valeur "M".
Je mets un print écran pour être plus clair.
Je mets le programme que j'ai fait, mais ça ne va pas aider beaucoup puisque je ne fais qu'afficher, pour l'instant, le titre et la fourchette de prix.
import requests
from bs4 import BeautifulSoup
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/92.0"}
URL = "https://www.amazon.fr/dp/B00BN5NHII"
def lit():
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
# titre du produit
title = soup.find(id="productTitle").get_text().strip()
# Prix mis en forme
price = soup.find(id="priceblock_ourprice").get_text()
print(title)
print(price)
if __name__ == "__main__":
lit()
Désolé d'avoir été brouillon dans ma demande.
Alors : Oui, je veux que mon programme python sélectionne une valeur de la liste.
En français, ça ferait : Sur le t-shirt "machin", dans la liste de sélection "taille", mets la valeur "M".
Je mets un print écran pour être plus clair.
Je mets le programme que j'ai fait, mais ça ne va pas aider beaucoup puisque je ne fais qu'afficher, pour l'instant, le titre et la fourchette de prix.
import requests
from bs4 import BeautifulSoup
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/92.0"}
URL = "https://www.amazon.fr/dp/B00BN5NHII"
def lit():
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
# titre du produit
title = soup.find(id="productTitle").get_text().strip()
# Prix mis en forme
price = soup.find(id="priceblock_ourprice").get_text()
print(title)
print(price)
if __name__ == "__main__":
lit()
yg_be
Messages postés
23337
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 novembre 2024
1 551
24 sept. 2021 à 13:51
24 sept. 2021 à 13:51
Je me demande si tu ne devrais pas utiliser Selenium au lieu de BeautifulSoup.
JPL034
Messages postés
21
Date d'inscription
mardi 29 octobre 2013
Statut
Membre
Dernière intervention
25 septembre 2021
35
24 sept. 2021 à 13:58
24 sept. 2021 à 13:58
Merci pour ta réponse rapide.
Je vais regarder de ce coté là. ça ne coute rien d'essayer :)
Je posterai ma réponse ici.
Merci encore.
Je vais regarder de ce coté là. ça ne coute rien d'essayer :)
Je posterai ma réponse ici.
Merci encore.
JPL034
Messages postés
21
Date d'inscription
mardi 29 octobre 2013
Statut
Membre
Dernière intervention
25 septembre 2021
35
25 sept. 2021 à 18:51
25 sept. 2021 à 18:51
YESSSS !!!!
Je ne suis pas loin. Merci de m'avoir aiguillé vers selenium.
J'ai un peu (pas mal) galéré, mais je touche au but.
Pour ceux que ça intéresse, voici comment j'ai fait :
D'abord, installer selenium si ce n'est pas déjà fait : pip install selenium
Ensuite télécharger geckodriver-xxxxxx.zip (la version qui vous intéresse). Extraire l'exécutable et (moi, j'ai fait ça) le coller dans le dossier python (au niveau de python.exe)
Pour finir, voilà mon script. Bon, il y a encore du boulot : accepter les cookies, chercher la liste, sélectionner.... mais déjà j'arrive à écrire quelque chose dans la zone de recherche. Il ne me reste plus qu'à fouiller la doc de selenium.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
# Navigate to url
driver.get("https://www.amazon.fr/dp/B00BN5NHII")
driver.implicitly_wait(30)
# Enter "webdriver" text and perform "ENTER" keyboard action
driver.find_element(By.NAME, "field-keywords").send_keys("t-shit" + Keys.ENTER)
Problème résolu.
Merci.
Je ne suis pas loin. Merci de m'avoir aiguillé vers selenium.
J'ai un peu (pas mal) galéré, mais je touche au but.
Pour ceux que ça intéresse, voici comment j'ai fait :
D'abord, installer selenium si ce n'est pas déjà fait : pip install selenium
Ensuite télécharger geckodriver-xxxxxx.zip (la version qui vous intéresse). Extraire l'exécutable et (moi, j'ai fait ça) le coller dans le dossier python (au niveau de python.exe)
Pour finir, voilà mon script. Bon, il y a encore du boulot : accepter les cookies, chercher la liste, sélectionner.... mais déjà j'arrive à écrire quelque chose dans la zone de recherche. Il ne me reste plus qu'à fouiller la doc de selenium.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
# Navigate to url
driver.get("https://www.amazon.fr/dp/B00BN5NHII")
driver.implicitly_wait(30)
# Enter "webdriver" text and perform "ENTER" keyboard action
driver.find_element(By.NAME, "field-keywords").send_keys("t-shit" + Keys.ENTER)
Problème résolu.
Merci.