概述
Xpath学习
在利用爬虫爬取数据时,为了更快更高效的解析html中数据,我们来学习Xpath,我们可以姑且将它理解为在html中查找信息的语言
1.节点
简单来说,一个标签,属性都是一个节点,我们一般上只说标签为节点,eg:获取div元素,我们说获取到div节点
其实Xpath的核心就是通过各种语法准确的选取多个和单个节点,从而获取想要的数据
另外,整个html文档开始的节点是
节点之间的关系
Parent 父节点 亲生父亲
Children 子节点 亲生儿子,不包
Sibling 兄弟节点 共有同一个父节点
Ancestor 父辈节点 父亲,爷爷,爷爷的父亲
Descendant 后代节点 儿子,孙子,曾孙子
2.语法
Xpath规则:
语段越好,越精简越好
分步操作,不要想一步到位
分块取值
. 表示当前
.. 表示上一级
/ 表示下一级,后边必须跟其他语法
// 表示所有后代
属性写在[]中是查找节点,直接写拿属性
eg:./div/div[@class="a"] 获取根目录下的div的子级类名为a的div
./div/div/@class 获取根目录下的div的子级div的类名
@ 选取属性
[a] a是一个数字,代表第几
* 子级所有标签
contains(属性,值) #查找包含属性包含某个值的节点
position() #定位 eg:position()>1 定位第一个节点之后的节点
last() 取末位置的节点
and 与 and + 语句
or 或 or + 语句
not 非 not(语句)
and or not 最好不要连用
ancestor #获取当前阶段的父辈(父,爷..)(向上的全局检索)
#eg:/ancestor::* 检索所有父辈元素
ancestor-or-self #获取当前节点的父辈(父,爷..),包括自己
attribute #获取当前节点的所有属性值
child #获取当前节点的所有子元素
parent #获取当前节点的父节点
descendant #获取当前节点的所有后代元素
descendant-or-self #获取当前节点的所有后代元素(包括自身)
following #获取当前节点之后的所有节点
preceding #获取当前节点之前的所有节点
preceding-sibling #获取当前节点之前的所有同级节点
namespace #获取当前节点的所有命名空间
self #获取当前节点
最后
以上就是开心曲奇为你收集整理的xpath的学习Xpath学习的全部内容,希望文章能够帮你解决xpath的学习Xpath学习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复