Xpath即是XML路径语言,用来在XML文档中查询信息,也适用于HTML文档的搜索。
Xpath概览
Xpath的选择功能十分强大,它提供了非常简介明了的路径选择表达式,用于字符串,数字,时间的匹配。
Xpath常用规则
nodename 选取此节点的所有子节点
/ 从当前结点选取直接结点
// 从当前结点选取子孙结点
@ 选取属性
列举一个Xpath的一个常用匹配规则, 如//title[@lang='eng'],代表着所有名称为title,同时属性为lang的值的eng的结点。
# Xpath的安装
简单安装pip3 install lxml
基本使用
from lxml import etree
text="""
- first item<?li>
- first item<?li>
- first item<?li>
- first item<?li> """ # 导入lxml的etree模块,声明一段HTML文本,接着调用类进行初始化,成功构造出一个Xpath解析对象,且 # HTML文本中的最后一个li结点是没有闭合的,而etree模块则可以自动修正HTML文本。 # 之后调用tostring方法既可以输出修正过后的HTML文本,但是结果为bytes类型,需要用decode方法来对其进行 # 转化成str类型 html=etree.HTML(text) result=etree.tostring(html) print(result.decode('utf-8')) # 所有结点 html=etree.parse('test.html',etree.HTMLParser()) result=html.xpath('//*') print(result)