我是靠谱客的博主 开心曲奇,最近开发中收集的这篇文章主要介绍xpath的学习Xpath学习,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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()   取末位置的节点
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的学习Xpath学习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部