lxml 属性多值匹配
如果某个属性的值有多个时,我们可以使用contains()函数来获取
from lxml import etree text1=''' <div> <ul> <li class="aaa item-0"><a href="link1.html">第一个</a></li> <li class="bbb item-1"><a href="link2.html">second item</a></li> </ul> </div> ''' html=etree.HTML(text1,etree.HTMLParser()) result=html.xpath('//li[@class="aaa"]/a/text()') result1=html.xpath('//li[contains(@class,"aaa")]/a/text()') print(result) print(result1) #通过第一种方法没有取到值,通过contains()就能精确匹配到节点了 [] ['第一个']