# xpath

# lxml库

xml是Python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。

pip3 install lxml
from lxml import etree

# xpath

XPath(XML Path Language,XML路径语言)是一门在XML文档中查找信息的语言,最初是用于搜索XML文档,但是它同样适用于HTML文档的搜索。

XPath的选择功能十分强大,它提供了非常简明的路径选择表达式。另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等,几乎所有我们想要定位的节点都可以用XPath来选择。

# 基本语法

在XPath中,有7种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。

XML文档是被作为节点树来进行处理的。树的根被称为文档节点或者根节点。

# 常用规则

  • nodename 选取此节点的所有子节点
  • / 从根节点选取
  • // 从文档中选择匹配当前节点的节点
  • .选取当前节点
  • .. 选取当前节点的父节点
  • @ 选取属性
  • * 通配符,选择所有元素节点与元素名
  • @* 选取所有属性
  • [@attrib] 选取具有指定属性的所有元素
  • [@attrib='value'] 选取指定属性具有匹配值的所有元素
  • [tag] 选取所有具有指定元素的直接子节点
  • [tag='text'] 选取所有具有指定元素并且文本内容是text的节点
上次更新: 2/13/2025, 3:29:47 AM