from lxml import etree
#将hello.html文件解析出来。 #hello.html标签必须一一对应。
html_xml=etree.parse("hello.html") print(html_xml) print(type(html_xml))#将html_xml转化成字符串。
#html_str=etree.tostring(html_xml,encoding='utf-8', pretty_print=True).decode("utf-8") print(html_str)#1 获取所有的li标签 #//全局查找所有的li标签。
result=html_xml.xpath("//li") #获取到五个li标签,放在一个列表中, print(result) #列表中的标签是xml对象,还可以使用xpath print(type(result)) print(len(result)) print(type(result[0]))#2 获取Li标签中的class属性信息。 #@表示选取属性 /表示从根节点获取 #返回的是列表,里面是字符串
result2=html_xml.xpath("//li/@class") print(result2)#3 获取li 标签下href为link1.html的a标签 #a[@href=‘link1.html’]修饰a标签
result3=html_xml.xpath("//li/a[@href='link1.html']") print(result3) #4 获取li 标签下href为link1.html的a标签的文本信息 result4=html_xml.xpath("//li/a[@href='link1.html']/text()") print(result4)#5 获取所有Li 标签下的所有span标签
result5=html_xml.xpath("//li//span") print(result5)#6 获取所有li标签下的a标签里面或下面class #返回的是一个列表
result6=html_xml.xpath("//li/a//@class") print(result6)#获取最后一个li标签下面的a标签的href
result7=html_xml.xpath("//li[last()]/a/@href") print(result7)#8 获取倒数第二个Li标签的a标签的href
result8=html_xml.xpath("//li[last()-1]/a/@href") print(result8)#获取所有属性class为bold的标签名 #*表示所有的标签
result9=html_xml.xpath("//*[@class='bold']") print(result9)