当前位置:首页 » 编程语言 » pythonxpath解析xml

pythonxpath解析xml

发布时间: 2024-12-16 20:24:41

‘壹’ python解析库lxml与xpath用法总结

本文主要围绕以xpath和lxml库进行展开:

一、xpath 概念、xpath节点、xpath语法、xpath轴、xpath运算符

二、lxml的安装、lxml的使用、lxml案例


一、xpath

1.xpath概念

XPath 是一门在 XML 文档中查找信息的语言。XPath 使用路径表达式在 XML 文档中进行导航 。XPath 包含一个标准函数库 。XPath 是 XSLT 中的主要元素 。XPath 是一个 W3C 标准 。


2.xpath节点

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

节点关系:父、子、兄弟、先辈、后辈。


3.xpath语法

xpath语法在W3c网站上有详细的介绍,这里截取部分知识,供大家学习。

XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。下面列出了最有用的路径表达式:

在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:


谓语用来查找某个特定的节点或者包含某个指定的值的节点。

谓语被嵌在方括号中。

在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:


XPath 通配符可用来选取未知的 XML 元素。

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:


通过在路径表达式中使用"|"运算符,您可以选取若干个路径。

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:


4.xpath 轴

轴可定义相对于当前节点的节点集。


5.xpath运算符

下面列出了可用在 XPath 表达式中的运算符:

好了,xpath的内容就这么多了。接下来我们要介绍一个神器lxml,他的速度很快,曾经一直是我使用beautifulsoup时最钟爱的解析器,没有之一,因为他的速度的确比其他的html.parser 和html5lib快了许多。


二、lxml

1.lxml安装

lxml 是一个xpath格式解析模块,安装很方便,直接pip install lxml 或者easy_install lxml即可。


2.lxml 使用

lxml提供了两种解析网页的方式,一种是你解析自己写的离线网页时,另一种 则是解析线上网页。

导入包:


1.解析离线网页:

2.解析在线网页:

那么我们怎么获取这些标签和标签对应的属性值了,很简单,首先获取标签只需你这样做:

然后我们可以,比方说,你要获取a标签内的文本和它的属性href所对应的值,有两种方法,

1.表达式内获取

2.表达式外获取

这样就完成了获取,怎么样,是不是很简单了,哈哈哈。


下面再来lxml的解析规则:



3.lxml案例

为了偷懒,我决定还是采用urllib那篇文章的代码,哈哈哈,机智如我。

‘贰’ python中function没有xpath属性什么意思

在Python中,函数(function)是一种对象,它可以被调用以执行特定的任务。与其他对象一样,函数也有一些属性,例如__name__、__doc__等。隐山但是,函数对象没有xpath属性,因为xpath是一种用于在XML文档中定位元素的语言,与Python函指坦数没有直接关系。如果您需要在Python中使用xpath,可以使用lxml库或者xml.etree.ElementTree库。这些库提供了一些函数和类,可以帮灶逗中助您解析XML文档并使用xpath表达式来定位元素。

热点内容
androiddrawable使用 发布:2024-12-16 22:54:39 浏览:201
安卓为什么不出磁吸 发布:2024-12-16 22:50:48 浏览:700
ftp只能上传不能删除文件 发布:2024-12-16 22:49:41 浏览:726
私家车配置有哪些 发布:2024-12-16 22:48:52 浏览:691
在线查看网页源码 发布:2024-12-16 22:48:11 浏览:253
安卓长按图标菜单叫什么 发布:2024-12-16 22:47:10 浏览:160
文件读取python 发布:2024-12-16 22:46:25 浏览:435
雷神电脑哪个配置好 发布:2024-12-16 22:40:17 浏览:290
ftp组建支持文件夹拷贝 发布:2024-12-16 22:32:20 浏览:492
脚本植入游戏的软件 发布:2024-12-16 22:31:36 浏览:836