lxml recuperar itens estranhos com cssselector
-
18-09-2019 - |
Pergunta
Na minha documento de teste eu tenho algumas classes rotulado "item", atualmente estou usando o seguinte a tudo de análise no arquivo html com esta classe com
Selection = html.cssselect(".item")
Eu gostaria que ele para selecionar todos os itens estranhos, como este em JavaScript usando JQuery
Selection = $(".item:odd");
Tentando que verbatim eu recebo o seguinte erro
lxml.cssselect.ExpressionError: O pseudo-classe Symbol (u'odd', 6) é desconhecida
Eu sei que isso seria trivial para implementar no meu próprio, eu queria saber se isso é suportado por lxml nativamente.
Solução
O "estranho" e "até mesmo" características fazem parte de um seletor com o nome "nth-child ()"; dar uma olhada na especificação seletor CSS para mais detalhes:
http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#nth-child-pseudo
Portanto, você deve ser capaz de obter exatamente o comportamento que você quer (e ele funciona para mim com CSSSelector aqui) com:
".item:nth-child(odd)"