Я использую функцию lxml xpath для извлечения частей веб-страницы.Я пытаюсь получить содержимое тега <font>
, который включает собственные теги html.Если я использую
//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()
Я получаю именно то, что хочу, за исключением того, что я не получаю никакого кода HTML, который содержится в узлах <font>
.
Если я использую
//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>