先在控制台下载
pip install lxml
导入
from lxml import etree
使用
date = """
<div>
<ul>
<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-1"><a href="link3.html">third item</a></li>
<li class="item-0"><a href="link4.html">fourth item</a></li>
</ul>
</div>
"""
html = etree.HTML(date)
date1 = html.xpath('/html')
for i in date1:
print(i)
date2 = html.xpath('//li')
for i in date2:
print(i)
#学具体路径
date3 = html.xpath('/html/body/div/ul/li/a')
for i in date3:
print(i.text)
#循环某个属性
date4 = html.xpath('/html/body/div/ul/li/@class')
for i in date4:
print(i)
date5 = html.xpath('/html/body/div/ul/li/a')
for i in date5:
a= i.xpath('./@href')
print(a)
#读取某一个节点
date6 = html.xpath('/html/body/div/ul')
for i in date6 :
li_1 = i.xpath('./li[1]')
print(li_1)
li_last=i.xpath('./li[last()]')
print(li_last)
#带有某属性的标签
data7 = html.xpath('//ulli/a[@href="link2.html"]')
for i in data7:
print(i.text)
data8 = html.xpath('//ul/li/*')
for i in data8:
if hasattr(i,'text'):
print(i.text)
else:
print(i)