Xpath的使用

简介: 简单使用

Xpath即是XML路径语言,用来在XML文档中查询信息,也适用于HTML文档的搜索。

Xpath概览

Xpath的选择功能十分强大,它提供了非常简介明了的路径选择表达式,用于字符串,数字,时间的匹配。

Xpath常用规则

nodename 选取此节点的所有子节点
/ 从当前结点选取直接结点
// 从当前结点选取子孙结点
@ 选取属性
列举一个Xpath的一个常用匹配规则, 如//title[@lang='eng'],代表着所有名称为title,同时属性为lang的值的eng的结点。

Xpath的安装

简单安装pip3 install lxml

基本使用

from lxml import etree
text="""


  • """

    导入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)

相关文章
|
存储 关系型数据库 数据库
聊多版本并发控制(MVCC)
MVCC是数据库并发控制技术,用于减少读写冲突。它维护数据的多个版本,使事务能读旧数据而写新数据,无需锁定记录。当前读获取最新版本,加锁防止修改;快照读不加锁,根据读取时的读视图(readview)决定读哪个版本。InnoDB通过隐藏字段(DB_TRX_ID, DB_ROLL_PTR)和undo log存储版本,readview记录活跃事务ID。读已提交每次读取都创建新视图,可重复读则在整个事务中复用一个视图,确保一致性。MVCC通过undo log版本链和readview规则决定事务可见性,实现了非阻塞并发读。
505 5
聊多版本并发控制(MVCC)
|
11月前
|
前端开发 测试技术
如何从零到一建立前端规范
【10月更文挑战第6天】
211 2
|
弹性计算 缓存 安全
阿里云服务器ECS实例2核4G有哪些?性能如何?
阿里云2核4G配置的云服务器提供多样化的ECS实例规格,如突发性能t6、经济型e、计算型c7/c6/c8i/c8a等,不同规格性能各异,参考价格从68元/月至203元/月不等。其中,经济型e和通用算力型u1实例为主推产品。2核4G配置理论上支持约20人同时在线访问,实际并发数受应用架构、带宽、用户行为等多种因素影响。详情参见阿里云官方页面。
|
小程序
手写签名-微信小程序
手写签名-微信小程序
172 1
|
Java Docker 容器
Java演进问题之ZGC的优点和缺点如何解决
Java演进问题之ZGC的优点和缺点如何解决
138 1
|
机器学习/深度学习 数据采集 人工智能
构建高效AI模型:深度学习优化策略和实践
【5月更文挑战第26天】 在人工智能的浪潮中,深度学习作为一项核心技术,其模型构建与优化一直是研究的热点。本文旨在探讨如何通过一系列创新性的优化策略提升深度学习模型的性能及效率。我们将从理论与实践两个维度出发,详细阐述包括数据预处理、网络结构设计、损失函数选择、正则化技巧以及超参数调整等方面的优化措施。通过这些策略的综合运用,可以显著提高模型的准确性,降低过拟合风险,并缩短训练时间,为AI领域的研究者和工程师提供有价值的参考。
|
消息中间件 NoSQL 固态存储
Spring boot集成plumelog日志系统
近几日闲来无事,工作摸鱼之时在码云上发现一个更加轻量级的分布式日志系统 PlumeLog ,就研究了一下,写了一个demo,做个记录
|
Go 开发工具 git
vscode设置go环境
vscode设置go环境
383 0
|
机器学习/深度学习 算法 搜索推荐
机器学习--模型评估、过拟合和欠拟合、模型验证
机器学习--模型评估、过拟合和欠拟合、模型验证
30032 2
机器学习--模型评估、过拟合和欠拟合、模型验证
|
存储 Kubernetes 数据安全/隐私保护
kubernetes dashboard 2.0版本安装及RBAC授权
kubernetes dashboard 2.0版本安装及RBAC授权