获取lxml中的下一个指定元素?

时间:2010-11-02 06:15:20

标签: python html lxml

我正在努力解析这个HTML。有h2s作为段落的标题。两者都在单独的div中,并由更多的div分隔。该段不是h2的孩子。我想把它们组合在一起,但我无法弄清楚它是怎么出来的。我认为发现会这样做,但它不起作用:

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

1 个答案:

答案 0 :(得分:2)

lxml.html.HtmlElement.find只接受标记名称或路径 - 它不接受完整的CSS选择器。

更好的想法是将doc.cssselect与高级选择器一起使用。 lxml.html会将它们转换为XPath选择器。

也许:

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