我是靠谱客的博主 开心曲奇,这篇文章主要介绍xpath的学习Xpath学习,现在分享给大家,希望可以做个参考。

Xpath学习

在利用爬虫爬取数据时,为了更快更高效的解析html中数据,我们来学习Xpath,我们可以姑且将它理解为在html中查找信息的语言

1.节点

简单来说,一个标签,属性都是一个节点,我们一般上只说标签为节点,eg:获取div元素,我们说获取到div节点

其实Xpath的核心就是通过各种语法准确的选取多个和单个节点,从而获取想要的数据

另外,整个html文档开始的节点是

节点之间的关系

复制代码
1
2
3
4
5
6
Parent 父节点 亲生父亲 Children 子节点 亲生儿子,不包 Sibling 兄弟节点 共有同一个父节点 Ancestor 父辈节点 父亲,爷爷,爷爷的父亲 Descendant 后代节点 儿子,孙子,曾孙子

2.语法

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Xpath规则: 语段越好,越精简越好 分步操作,不要想一步到位 分块取值 . 表示当前 .. 表示上一级 / 表示下一级,后边必须跟其他语法 // 表示所有后代 属性写在[]中是查找节点,直接写拿属性 eg:./div/div[@class="a"] 获取根目录下的div的子级类名为a的div ./div/div/@class 获取根目录下的div的子级div的类名 @ 选取属性 [a] a是一个数字,代表第几 * 子级所有标签 contains(属性,) #查找包含属性包含某个值的节点 position() #定位 eg:position()>1 定位第一个节点之后的节点 last() 取末位置的节点 andand + 语句 oror + 语句 notnot(语句) 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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部