其他分享
首页 > 其他分享> > Xpath学习笔记

Xpath学习笔记

作者:互联网

Xpath全称XML Path Language:XML路径语言,是一门在XML文档中查找信息的语言,同样适用HTML文档.

.代表当前节点
..代表上一级节点
/表示子级,仅一层关系
//表示子(孙)级,可以是多层关系
@选取属性
通配符
*匹配任何元素节点
@*匹配任何属性节点
node()匹配任何类型的节点

使用前需将HTML内容转化:使用etree.HTML(内容)

以html=etree.HTML(内容)为例.

参数html开始的节点是<html>.

获取标签例:html.Xpath('/html')

父级获取子级标签例:html.Xpath('/html/body')

子级获取父级标签例:html.Xpath('/html/body/..')

通过ID检索例:html.Xpath('.//div[@id="ID名"]')(ID前加@和[])

通过class检索例:html.Xpath('.//div[@class="class名"]')(class前加@和[])

通过position定位(position返回当前标签的位置号)例:html.Xpath(".//table/tr[position()>0]"(取tr标签下除了第一个标签的后面全部)

通过last()去父级标签的最后一个子级标签例:html.Xpath(".//table/tr[last()]")

通过text()获取标签文本值例:html.Xpath('./html/head/title/text()')

轴:可定义相对于当前节点的节点集使用时加上"::"(两个冒号)
ancdstor选取当前节点的所有先辈
ancestor or self选取当前节点的所有先辈以及当前节点本身
attribute选取当前节点的所有所有属性
child选取当前节点的所有子元素
descendant选取当前节点的所有后代元素
descendant or self选取当前节点的所有后代元素以及当前节点本身
following选取文档中当前节点的结束标签之后的所有节点
namespace选取当前节点的所有命名空间节点
parent选取当前节点的父节点
preceding选取文档中当前节点的开始标签之前的所有节点
preceding-sibling

选取当前节点之前的所有同级节点

self选取当前节点

轴使用例:html.Xpath(".//table/ancestor::*")

标签:Xpath,标签,笔记,选取,学习,html,当前,节点
来源: https://blog.csdn.net/m0_63235356/article/details/123603315