Python lxml提取span标记的值

时间:2017-04-22 16:27:53

标签: python html lxml

我正在尝试从网站的源代码中获取span标记的值。但是我只想要这样的span标签:

<span>
   Test
</span>

而不是这样:

<span class="test">blabla</span>

我目前的代码如下:

test = tree.xpath('//span[@class]/text()')

1 个答案:

答案 0 :(得分:2)

使用Xpath,您可以使用谓词span指定not(@*)元素不应具有任何属性:

from lxml import etree

x = '''<body>
<span>
   Test
</span>
<span class="test">blabla</span>
</body>'''

xml = etree.fromstring(x)
xml.xpath('//span[not(@*)]/text()')

# returns:
['\n   Test\n']