python之XPath详解


1.介绍

XPath是一个路径选择语言,全称 XML Path Language,支持XML和HTML的选择,类似于正则表达式,但比正则表达式简单并且方便许多!

下表为XPath的符号解释:

表 达 式 描  述
nodename 选取此节点的所有子节点
/ 从当前节点选取直接子节点
// 从当前节点选取子孙节点
. 选取当前节点
选取当前节点的父节点
@ 选取属性

常用匹配规则:

//name[@Attr]

解释:name为节点名

Attr:在此节点名下的属性名

//title[@lang=‘eng’]

这就是一个 XPath 规则,它代表选择所有名称为 title,同时属性 lang 的值为 eng 的节点。如果不是很懂没有关系,看完下面的例子你就懂了!

from lxml import etree
text = '''

'''
html = etree.HTML(text)
result = etree.tostring(html)
print(result.decode('utf-8')) #指定编码格式

代码解释:这里首先导入 lxml 库的 etree 模块,然后声明了一段 HTML 文本,调用 HTML 类进行初始化,这样就成功构造了一个 XPath 解析对象。这里需要注意的是,HTML 文本中的最后一个 li 节点是没有闭合的,但是 etree 模块可以自动修正 HTML 文本。

WmHiuF9UrA6A10N4Td4N8rVLGLD533XJ


文章作者: 古客
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 古客 !
评论
 上一篇
hexo简明的教程 hexo简明的教程
hexo new “name” # 新建文章 hexo new page “name” # 新建页面 hexo g # 生成页面 hexo d # 部署 hexo g -d
2020-02-13
下一篇 
python之三个数据类型 python之三个数据类型
由于老是记不住python的list,字典,元组等表示的方法及区别,经常会搞混,所以特地写了这篇文章来加强记忆和复习。 list(列表)符号[],用‘’包起来,用逗号分开 例子: fish = ['大鱼','鱼','小鱼','fish']
2020-02-12 古客