lxml получение нечетных предметов с помощью cssselector - PullRequest
1 голос
/ 22 июля 2009

В моем тестовом документе у меня есть несколько классов, помеченных как "item", в настоящее время я использую следующее для разбора всего в html-файле с этим классом с

Selection = html.cssselect(".item")

Я бы хотел выбрать все нечетные элементы, например, в javascript, используя JQuery

Selection = $(".item:odd");

Попытка дословно получить следующую ошибку

lxml.cssselect.ExpressionError: Символ класса псевдо (u'odd ', 6) неизвестен

Я знаю, что это было бы тривиально реализовать самостоятельно, мне было интересно, поддерживается ли это изначально lxml.

1 Ответ

1 голос
/ 01 августа 2009

Функции "нечетный" и "четный" являются частью селектора с именем "nth-child ()"; взгляните на спецификацию селектора CSS для более подробной информации:

http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#nth-child-pseudo

Следовательно, вы должны быть в состоянии получить именно то поведение, которое вам нужно (и это работает для меня с CSSSelector здесь) с помощью:

".item:nth-child(odd)"
...