如何使用xpath从文本中获取文本?

2024-10-01 02:22:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从text中获取111111111使用xpath,我在下面这样做,但是我无法获取它。你知道吗

import lxml
text = """<p class="tel">
<span class="dsTitle">tel:</span>
111111111
</p>
"""
doc = lxml.etree.fromstring(text, parser=lxml.etree.HTMLParser())
tel = doc.xpath('//p/text')
print(tel)

输出是[]。我想我可以得到111111111。 但为什么呢?这个怎么了?你知道吗


Tags: textimportparserdoclxmlxpathclassetree
3条回答

你忘了括号。你知道吗

doc.xpath('//p/text()')

会有用的。你知道吗

使用xpath node testtext()

它选择上下文节点p的文本节点类型的所有子节点。你知道吗

附加filter/text()[normalize-space()]以删除前导和尾随空格节点,如新行和空格。你知道吗

完成:

tel = doc.xpath('//p/text()[normalize-space()]')

可以按如下方式使用xpath:

//span[contains(text(),'tel:')]/following-sibling::text()[1]

相关问题 更多 >