lxml récupération des éléments impairs avec CSSSelector
-
18-09-2019 - |
Question
Dans mon document de test, j'ai quelques classes étiquetées « item », actuellement je suis en utilisant ce qui suit pour tout analyser dans le fichier html avec cette classe avec
Selection = html.cssselect(".item")
Je l'aime pour sélectionner tous les éléments bizarres, comme celui-ci en javascript en utilisant JQuery
Selection = $(".item:odd");
Essayer que verbatim je reçois l'erreur suivante
lxml.cssselect.ExpressionError: Le symbole classe psuedo (u'odd », 6) est inconnu
Je sais que ce serait trivial à mettre en œuvre sur le mien, je me demandais si cela est pris en charge par lxml nativement.
La solution
Le « étrange » et « même » caractéristiques font partie d'un sélecteur nommé « nième enfant () »; jetez un oeil à la spécification du sélecteur CSS pour plus de détails:
http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#nth-child-pseudo
Par conséquent, vous devriez être en mesure d'obtenir exactement le comportement que vous voulez (et il fonctionne pour moi avec CSSSelector ici) avec:
".item:nth-child(odd)"