Получение следующего указанного элемента в lxml? - PullRequest
0 голосов
/ 02 ноября 2010

Я изо всех сил пытаюсь разобрать этот HTML.Есть h2s, выступающие в качестве заголовков для абзацев.Оба находятся в отдельных div, и разделены большим количеством div.Абзац не дитя h2.Я бы хотел сгруппировать их, но не могу понять, как это сделать.Я думал, что найти сделает это, но это не сработало:

html = doc.cssselect('h2.title')
for para in html:
  content = para.find('div.content')

1 Ответ

2 голосов
/ 02 ноября 2010

lxml.html.HtmlElement.find принимает только имя тега или путь - он не принимает полные селекторы CSS.

Лучше было бы использовать doc.cssselect с расширенными селекторами.lxml.html преобразует их в XPath-селекторы для вас.

Возможно:

for elem in doc.cssselect('h2.title div.content'):
    elem.text_content()
...