“”"
XPath的学习
“”"
from lxml import etree
案例文件
html_doc = “”"
html = etree.HTML(html_doc)
1、获取所有li下的所有a标签
print(html.xpath("//li/a"))
#2、获取指定的li标签item-0
print(html.xpath("//li[@class=‘item-0’]"))
#3、获取指定的li标签item-0下面的a标签
print(html.xpath("//li[@class=‘item-0’]/a"))
#4、获取指定的li标签item-0下面的a标签里面的内容
print(html.xpath("//li[@class=‘item-0’]/a/text()"))
高级进阶用法
1、匹配属性以什么类型开头的class(starts-with())
print(html.xpath("//li[starts-with(@class,‘item-’)]"))
2、匹配里面所有相同的item-1,(contains())
print(html.xpath("//li[contains(@class,‘item-1’)]"))
3、多属性的匹配(and)
print(html.xpath("//li[contains(@class,‘one’) and contains(@name,‘first’)]/a/text()"))
4、按顺序来排序
第2个
print(html.xpath("//li[2]/a/text()"))
最后一个
print(html.xpath("//li[last()]/a/text()"))
最后一个-1个
print(html.xpath("//li[last()-1]/a/text()"))
小于等于3的序号li
print(html.xpath("//li[position()<=3]/a/text()"))