我使用lxml的xpath函數來檢索網頁的某些部分。我試圖獲得一個<font>
標籤的內容,其中包含自己的html標籤。如果我使用如何使用xpath&lxml獲取節點的完整內容?
//td[@valign="top"]/p[1]/font[@face="verdana" and @color="#ffffff" and @size="2"]
我得到節點適量,但他們返回LXML對象(<Element font at 0x101fe5eb0>
)。
如果我使用
//td[@valign="top"]/p[1]/font[@face="verdana" and @color="#ffffff" and @size="2"]/text()
我得到我想要的東西,但我沒有得到任何這是包含在<font>
節點中的HTML代碼。
如果我使用
//td[@valign="top"]/p[1]/font[@face="verdana" and @color="#ffffff" and @size="2"]/node()
如果得到的文本和LXML元素的混合物! (例如something something <Element a at 0x102ac2140> something
)
反正是有使用純XPath查詢得到<font>
節點的內容,甚至迫使LXML從.xpath()
方法,而不是lxml的對象返回的內容的字符串?
請注意,我從XPath查詢中返回了許多節點的列表,因此解決方案需要支持該節點。
只是爲了澄清...我想從像回到something something <a href="url">inside</a> something
...
<font face="verdana" color="#ffffff" size="2"><a href="url">inside</a> something</font>
好問題,+1。請參閱我的答案以獲得解釋。 – 2010-11-06 19:29:42