xpath
xpath是在XML文件中搜索内容的一门语言,html是xml的一个子集
from lxml import etree
tree=etree.HTML("")#引号内填入html文档
tree=etree.XML("")#引号内填入XML文档
查找方式
可以通过tree进行查找
tree.xpth()
括号内的参数按照/root/point1/point2
类似文件目录的格式,于是我们可以很容易的从html文件的根节点开始找到我们想要的节点
在同一级中可能会存在多个同类节点
- 可以用
point[1]
的方式指定是查找第几个,注意下标从1开始 - 可以用
point[@属性='属性值']的方式筛选
另外
- 可以在节点路径中使用
//
,例如/root//point2
,这样会查找到root节点下所有的point2节点,此时不管在point2和roo之间有没有其他节点都能找到所有的point2节点 - 可以在节点路径中使用
*
,例如/root/*/point2
,*
是通配符,表示匹配任意节点,所以此时会查找到root的所有子节点中的point2节点,需要注意的是,此时如果直接存在于root节点下point2节点不会被查找到,因为他们之间没有节点用于匹配通配符*
- 可以在节点路径中使用
text()
获取节点中的内容,例如html/body/h1/text()
,这样就会获得对应的h1标签中的文本信息 - 在从已经获取到的子节点继续查找时,使用相对查找的方式
./xxx
- 在获取节点属性时使用
@属性
的方式,例如./@href
2023.3.19