我正在努力解析这个HTML。有h2s作为段落的标题。两者都在单独的div中,并由更多的div分隔。该段不是h2的孩子。我想把它们组合在一起,但我无法弄清楚它是怎么出来的。我认为发现会这样做,但它不起作用:
html = doc.cssselect('h2.title')
for para in html:
content = para.find('div.content')
答案 0 :(得分:2)
lxml.html.HtmlElement.find
只接受标记名称或路径 - 它不接受完整的CSS选择器。
更好的想法是将doc.cssselect
与高级选择器一起使用。 lxml.html
会将它们转换为XPath选择器。
也许:
for elem in doc.cssselect('h2.title div.content'):
elem.text_content()