非常基本的lxml问题:如何获取lxml.etree._Element的HTML/字符串内容?

41 投票
1 回答
32495 浏览
提问于 2025-04-16 14:13

这个问题太基础了,我在文档里居然找不到相关信息 :-/

在下面的代码中:

img = house_tree.xpath('//img[@id="mainphoto"]')[0]

我该如何获取 <img/> 标签的 HTML 内容呢?

我试着加了 html_content(),结果出现了 AttributeError: 'lxml.etree._Element' object has no attribute 'html_content' 的错误。

另外,如果是一个里面有内容的标签(比如 <p>text</p>),我该怎么获取里面的内容(比如 text)呢?

非常感谢!

1 个回答

69

我想这应该很简单:

from lxml.etree import tostring
inner_html = tostring(img)

至于如何获取某个选定元素 el 内部的内容,比如说在 <p> 标签里面的内容:

content = el.text_content()

撰写回答