Web scraping
FerméDiablo76 Messages postés 204 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 30 octobre 2024 - 29 nov. 2022 à 17:23
- Web scraping
- Web office - Guide
- Adresse web - Guide
- Traduire une page web - Guide
- Création site web - Guide
- Utorrent web - Télécharger - Téléchargement & Transfert
3 réponses
29 nov. 2022 à 11:17
Bonjour,
Je vois deux problèmes :
- Dans la ligne 6, la variable i n'est pas utilisée dans ta f-string. C'est plus probablement :
url = f"https://www.prix-carburants.gouv.fr/recherche/?page=%7Bi%7D"
- Ton script ne lance pas de recherche. Or l'URL précédente n'a de sens que si tu as formulé au préalable sur le site une recherche (par exemple, le type de carburant, le département, etc). Il faudrait donc au préalable construire une requête qui reproduit ce qui se passe quand tu soumets le formulaire de recherche dans ton navigateur.
Au delà de la question, cela vaudrait le coup de regarder au préalable s'il n'y a pas une API qui permet d'interroger directement le jeu de données qui t'intéresse (voir ce lien et ce lien). Cela t'éviterait de devoir scrapper les pages de résultats.
Bonne chance
29 nov. 2022 à 15:39
Au pire du pire si tu n'arrives pas à construire la bonne requête, tu peux utiliser selenium. C'est un peu l'artillerie lourde quand on ne peut pas s'en sortir plus élégamment. Ça ne veut pas dire qu'on ne peut pas s'en sortir juste avec requests dans le cas présent.
Modifié le 29 nov. 2022 à 16:52
Le code est à adapter à ton site web. Je n'aurai pas le temps de le faire pour ton site en particulier. Voici un tutoriel pour démarrer. Il existe deux drivers pour selenium : chromium/chrome et firefox. L'idée est d'orchestrer le navigateur pour reproduire un comportement humain et ensuite récupérer la page. Le lien que je t'ai donné montre comment faire pour faire une recherche sur www.google.fr.
29 nov. 2022 à 17:23
+1 pour selenium, aujourd'hui tous les sites sont dynamiques (JavaScript), difficile de scrapper sans...