XPath的安装与使用

一、XPath简介

XPath即XML路径查询语言(XML Path Language),是一种用于确定XML文档中部分节点位置的语言。它起初只支持搜索XML文档,更新后能支持搜索HTML文档

XPath是如何搜索XML或HTML文档的?

XPath基于XML或HTML的节点树,沿着节点树的节点关系定位到目标节点所在的位置,并选取节点或节点集。为了形象地描述出搜索节点的路径,XPath提供简洁明了的路径表达式,通过路径表达式可以快速地定位与选取XML或HTML文档中的一个节点或者一组节点集。

路径表达式

路径表达式描述了从一个节点到另一个节点或一组节点的路径。这些路径与在常规的计算机文件系统中见到的路径非常相似。例如,“/学生名单/班级/学生/籍贯”就是一个路径表达式,该路径表达式也是用“/”字符进行分割的,只不过它分割的是节点,而不是目录。

XML文档,XML节点树与路径表达式的关系

XML文档
<bookstore>
    <book category="WEB">
        <title>Learing XML</title>
        <author>Erik T.Ray</author>
        <year>2003</year>
        <price>39,95</price>
    </book>
</bookstore>

在这里插入图片描述

在上图中,从上到下,依次为XML文档、XML节点树和路径表达式。其中路径表达式为:“/bookstore/book/price”,它对应的路径为XML节点树种加粗的线条,用于选取节点price对应的文本39.95

二、XPath的安装(chrome)

本章选取的XPath版本为2.0.2,并在chrome中添加扩展,请保持chrome为最新版。

压缩包地址:XPath压缩包,密码:fxd1

1.下载解压到桌面。

2.打开chrome,打开设置在左边工具栏中找到扩展程序,点开就能看到所有的扩展程序,确保自己打开了开发者模式

在这里插入图片描述

在这里插入图片描述

3.将桌面上的解压缩文件拖到刚刚的界面进行添加程序。

在这里插入图片描述

4.添加完成扩展程序中就新增了一个XPath Helper。

在这里插入图片描述
5.可以通过浏览器右上角扩展程序将XPath添加到工具栏。

在这里插入图片描述
6.检查是否成功添加XPath到浏览器。

点击XPath程序页面出现黑色输入框即为添加成功。

在这里插入图片描述

三、如何使用XPath

我们要编写一个路径表达式,则要先了解XPath的语法,才能使用路径表达式正确的选取节点。

1.XPath语法

(1).选取节点

表达式 说明
节点名称 选取此节点的所有子节点
/ 从根节点开始选取直接子节点,相当于绝对路径
// 从当前节点开始选取后代节点,相当于相对路径
. 选取当前节点
选取当前节点的父节点
@ 选取属性节点

(2).常用的XPath函数

函数 说明
position() 返回当前被处理的节点位置
last() 返回当前节点集中的最后一个节点
count() 返回节点的总数目
max((arg,arg…)) 返回大于其他参数的参数
min((arg,arg…)) 返回小于其它参数的参数
name() 返回当前节点的名称
current-date() 返回当前的日期(带有时区)
current-time() 返回当前的时间(带有时区)
contains(string1,string2) 若string1包含string2,则返回True,否则返回False

(3).选取未知节点

通配符/函数 说明
* 匹配任何元素节点
@* 匹配任何属性节点
node() 匹配任何类型节点

(4).选取若干路径

在XPath中,我们可以使用“|”运算符连接多个路径表达式,根据多个路径选取对应的节点。

//book/title | //book/price     # 选取属于book的子节点title和price
//title | //price               # 选取所有title节点和price节点
/bookstore/book/title | //price   # 选取属于/bokstore/的所有title节点和文档中的所有节点

2.使用XPath插件

下面以豆瓣电影TOP250为例,来说明怎么获取所有的电影名称。

网址:豆瓣电影TOP250

1.打开豆瓣TOP250网站,按下F12进入开发者模式,可以看到该网页的HTML代码
在这里插入图片描述
2.点击开发者模式左上角小箭头图标,进入检查模式。

在这里插入图片描述
3.鼠标移到电影名称,点击,就会在开发者模式中看到电影名称的html标签。

在这里插入图片描述
在这里插入图片描述
4.鼠标右键名称,赋值XPath路径。

5.打开XPath插件,将刚刚赋值的路径粘贴到XPath输入框中。

在这里插入图片描述
我们就看到了我们选取的电影名

6.要选取所有的电影名称我们就需要更改路径。

观察当前名称的html标签位置,找出规则。

所有电影名称的XPath路径为:

//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[1]/a/span[1]

在XPath输入框中输入上述路径,得出所有电影名称。
在这里插入图片描述
至此我们学会了怎么使用XPath。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>