【发布时间】:2015-04-10 07:12:11
【问题描述】:
我正在使用lxml 解析网络文档,我想获取<p> 元素中的所有文本,所以我使用如下代码:
from lxml import etree
page = etree.HTML("<html><p>test1 <br /> test2</p></html>")
print page.xpath("//p")[0].text # this just print "test1" not "test1 <br/> test2"
问题是我想获取<p> 中的所有文本,在示例中为test1 <br /> test2,但lxml 只需给我test1。
如何获取<p> 元素中的所有文本?
【问题讨论】:
-
@har07 看来我应该用
text_content(),但是AttributeError: 'lxml.etree._Element' object has no attribute 'html_content' -
好的,既然您尝试使用
text_content(),我假设您想要没有<br>的文本。检查我的答案以了解一些可能的方法 -
"我想获取
<p>中的所有文本,即test1 <br /> test2"。这是不正确的。实际文本内容为test1 test2。<br />元素是<p>的子元素,但它不是文本。
标签: python text lxml elementtree