En bref : XPath est un langage de requête permettant de parcourir des arborescences HTML/XML à l'aide de chemins, d'attributs ou de contenu textuel. Ce guide aborde la syntaxe, les axes et les fonctions de XPath, puis présente des exemples concrets de scrapers Python utilisant lxml et Selenium. Vous y trouverez également une fiche de référence complète ainsi qu'une section consacrée au dépannage des erreurs XPath les plus courantes.
XPath (XML Path Language) est un langage de requête qui sélectionne des nœuds dans des documents XML et HTML à l'aide d'expressions de chemin. Si les sélecteurs CSS vous semblent trop limités pour vos tâches de scraping, le scraping Web avec XPath est la suite logique.
Alors que les sélecteurs CSS ne se déplacent que vers l'avant et vers le bas dans le DOM, XPath parcourt le DOM dans toutes les directions : vers le haut jusqu'à un parent, latéralement vers un frère, ou en profondeur vers des descendants imbriqués. Il peut également faire correspondre des éléments en fonction de leur texte visible, une capacité dont le CSS est totalement dépourvu. Ces fonctionnalités rendent XPath particulièrement utile pour le scraping Web sur des pages complexes ou mal structurées.
Dans ce tutoriel, vous apprendrez la syntaxe de base d'XPath (chemins, prédicats, axes, fonctions), découvrirez comment tester des expressions dans votre navigateur et créerez de véritables scrapers Python avec lxml et Selenium. Nous aborderons également les pièges courants qui font échouer les sélecteurs XPath en production et comment les éviter.




