HTML文件内容
<html><body>
<div>
<ui>
<li class="item-0"><a href="link1.html">first item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-inactive"><a href="link3.html"><span class="bold">third item</span></a></li>
</ui>
</div>>
</body></html>
from lxml import etree
html = etree.parse('sogou.html')
# 获得所有div标签
result = html.xpath('//li')
print(result)
for i in result:
print(etree.tostring(i).decode('utf-8'))
# 获得所有li元素下的所有class属性的值
result = html.xpath('//li/@class')
print(result)
# 获得li标签下href为link1.html的a标签
result = html.xpath('//li/a[@href="www.baidu.com"]')
print(result)
# 获得li标签下所有span标签
result = html.xpath('//li//span')
print(result)
# 获取li标签下的a标签里的所有class
result = html.xpath('//li/a//@class')
print(result)
# 获得最后一个li的a的href属性对应的值
result = html.xpath('//li[last()]/a/@href')
print(result)
# 获取倒数第二个li元素的内容
result = html.xpath('//li[last()-1]/a')
print(result[0].text)
# 获取倒数第二个li元素的内容的第二种方式
result = html.xpath('//li[last()-1]/a/text()')
print(result)