Python XPath 路径表达式介绍
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可以根据具体的需求选择和提取文档中的信息,非常方便和灵活。
相关文章