Python XPath 路径表达式介绍

2023-04-17 00:00:00 路径 介绍 表达式

XPath是一种格式化的语言,用于在XML和HTML文档中按照路径选择元素。XPath通过元素的标签、属性、文本等信息,定位到需要选择的元素。XPath语言的主要元素有节点、轴和运算符。

节点表示XML或HTML文档中的元素、属性、文本节点等,可以使用节点名称及其关系,如父子、兄弟等来表示节点之间的关系。

轴指定节点与它们在文档中的位置、层次结构等信息,如子节点、父节点、前向兄弟节点、后向兄弟节点等。

运算符包括比较运算符、逻辑运算符、算术运算符等,用于比较、合并、计算和操作节点及其信息。

以下是一些XPath路径表达式的实例:

  • 选择元素:选择文档中所有元素://book
  • 选择属性:选择文档中所有带有price属性的元素://book[@price]
  • 文本提取:选择文档中所有包含“皮蛋编程”文本的元素://book[contains(text(), "皮蛋编程")]
  • 加载HTML文档并解析:使用Python模块lxml的XPath方法加载HTML文档并使用路径表达式选择元素。

以下是一些Python XPath的使用范例:

# 加载HTML文档
from lxml import html
import requests
page = requests.get('http://www.pidancode.com')
tree = html.fromstring(page.content)

# 通过XPath路径表达式选择元素
# 选择所有链接
links = tree.xpath('//a/@href')
# 选择所有段落中包含“皮蛋编程”的文本
p_text = tree.xpath('//p[contains(text(), "皮蛋编程")]/text()')

这些示例展示了如何使用XPath路径表达式选择HTML文档中的元素和文本。使用XPath可以根据具体的需求选择和提取文档中的信息,非常方便和灵活。

相关文章