为奇怪的标题道歉(很难解释)。这是我的HTML:
<p>
<strong>Date:</strong> May 12, 2015
</p>
基本上,我想提取日期(May 12, 2015
)。我想出来了:
print advisory.xpath('//p/strong[text()="Date:"]')[0].text
但这自然会返回Date:
。任何想法如何遍历父母,跳过w / e是强标记并返回其余部分?
答案 0 :(得分:4)
或者,由于日期文本实际上是<strong>
元素的后续文本,因此您可以使用tail
这样的属性:
[2]: s = '''<root><p><strong>Date:</strong> May 12, 2015</p></root>'''
In [3]: from lxml import etree as ET
In [4]: tree = ET.fromstring(s)
In [5]: tree.xpath('//p/strong[text()="Date:"]')[0].tail
Out[5]: ' May 12, 2015'
答案 1 :(得分:1)
只是让条件更大
print advisory.xpath('//p[strong/text()="Date:"]/text()')[0]