Les sélecteurs CSS sont des modèles permettant d’identifier des éléments dans un document HTML ; les robots d’extraction s’en servent pour cibler précisément le texte ou l’attribut qu’ils souhaitent extraire. Cinq sélecteurs assurent l’essentiel du travail : .class, [attribute], les combinateurs de descendants et d’enfants (un espace et >), :nth-child(), et :has(). Cette fiche de référence sur les sélecteurs CSS les couvre tous ainsi que le reste de la syntaxe standard, chacun étant accompagné d’un exemple de scraping. Vous y trouverez également un tableau récapitulatif indiquant quels sélecteurs fonctionnent dans les navigateurs, BeautifulSoup, Scrapy, Cheerio, Playwright et selectolax, la même extraction écrite dans quatre environnements différents, des recettes pour les modèles de pages courants, ainsi qu’un tableau de solutions pour les sélecteurs qui renvoient un résultat vide.
Points clés à retenir
- La plupart des opérations de scraping ne nécessitent que des classes, des attributs, l’espace et les
>les combinateurs,:nth-child(), ainsi que:has(). :has()les sélecteurs de parents. Les navigateurs modernes et les principaux analyseurs de scraping prennent cela en charge.- Le CSS standard ne permet pas de sélectionner du texte ou des valeurs d’attributs.
::text,::attr(), et:-soup-contains()sont des extensions de bibliothèques, et non du CSS. - Ancrage sur
data-*des attributs et des classes sémantiques, et non sur des classes générées par hachage ou de longues chaînes copiées. - Si un sélecteur fonctionne dans DevTools mais pas dans votre outil de scraping, le contenu est probablement rendu par JavaScript.




