1、Xpath介绍
XML路径语言(XML Path Language),它是一种基于XML的树状结构,在数据结构树中找寻节点,确定XML文档中某部分位置的语言。
需要把源文件转成树状结构,再对树状结构应用相应的xpath查询语句
基本语法
使用Xpath需要从lxml库中导入etree模块,还需使用HTML类对需要匹配的HTML对象进行初始化(XPath只能处理文档的DOM表现形式)。
HTML类的基本语法格式如下。
lxml.etree.HTML(text, parser=None, *, base_url=None)
2、XPath
a、XPath是XML Path的简称,它是一种用来确定XML文档中某部分位置的语言。
b、lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,使用前先安装
pip install lxml
3、xpath选取节点
表达式 | 描述 |
nodename | 选取此节点的所有子节点。 |
/ | 从根节点选取(取子节点)。 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置(取子孙节点)。 |
. | 选取当前节点。 |
.. | 选取当前节点的父节点。 |
@ | 选取属性。 |
4、xpath的数据类型
a、节点集
节点集是通过路径匹配返回的符合条件的一组节点的集合。其它类型的数据不能转换为节点集。
b、布尔值
由函数或布尔表达式返回的条件匹配值,与一般语言中的布尔值相同,有true和false两个值。布尔值可以和数值类型、字符串类型相互转换。
c、字符串
字符串即包含一系列字符的集合,xpath中提供了一系列的字符串函数。字符串可与数值类型、布尔值类型的数据相互转换。
d、数值
在xpath中数值为浮点数,可以是双精度64位浮点数。数值也可以和布尔类型、字符串类型相互转换。