2010-11-02 24 views
0

我努力解析這個html。有h2s作爲段落的標題。兩者都在單獨的div中,並由更多的div分隔。該段不是h2的孩子。我想將它們組合在一起,但我無法弄清楚如何。我想找到會做,但它沒有工作:獲取lxml中的下一個指定元素?

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

歡迎SO!提交HTML片段可以讓回答問題的人更容易。 – 2010-11-02 07:15:46

回答

2

lxml.html.HtmlElement.find只需要一個標籤名或路徑 - 它不接受完整的CSS選擇器。

一個更好的主意就是使用doc.cssselect和高級選擇器。 lxml.html會將它們轉換爲XPath選擇器。

也許:

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