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)

相关文章
|
缓存 移动开发 关系型数据库
Linux 内存 占用较高问题排查
Linux 内存 占用较高问题排查
913 2
|
算法 安全 Java
CobaltStrike windows7 无法上线
CobaltStrike windows7 无法上线
554 0
|
数据采集 Python
数据爬取技术进阶:从表单提交到页面点击的实现
本文介绍了如何使用 Python 和代理 IP 技术,从表单提交到页面点击,实现动态网页的数据爬取。以百度贴吧为例,详细讲解了登录、发帖和数据采集的实现流程,并提供了完整的代码示例。通过代理 IP 确保数据获取的稳定性和安全性。
454 3
|
10月前
|
存储 缓存 Java
JUC并发—3.volatile和synchronized原理
本文介绍了volatile关键字的使用、主内存和CPU的缓存模型、CPU高速缓存的数据不一致问题、总线锁和缓存锁及MESI缓存一致性协议、Java的内存模型JMM、JMM如何处理并发中的原子性可见性有序性、volatile如何保证可见性、volatile为什么无法保证原子性、volatile如何保证有序性、volatile的原理(Lock前缀指令 + 内存屏障)、双重检查单例模式的volatile优化、基于volatile优化微服务的优雅关闭机制、优化微服务存活状态检查机制等 14.i++的多线程安全问题演示 1
|
11月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的16QAM调制+软解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于之前开发的16QAM调制与软解调系统,增加了硬件测试功能。该系统包含FPGA实现的16QAM调制、软解调、高斯信道、误码率统计模块,并新增了ILA在线数据采集和VIO在线SNR设置模块。通过硬件测试,验证了不同SNR条件下的系统性能。16QAM软解调通过比较接收信号采样值与16个调制点的距离,选择最近的调制点来恢复原始数据。核心Verilog代码实现了整个系统的功能,包括SNR设置、信号处理及误码率统计。硬件测试结果表明系统在不同SNR下表现良好,详细操作步骤可参考配套视频。
293 13
|
11月前
|
监控 搜索推荐 Linux
top 与 htop 实时监控
`top` 和 `htop` 是 Linux 系统中常用的实时监控工具。`top` 命令默认每 3 秒刷新一次,显示系统整体概览和进程列表,支持基本的进程管理操作。`htop` 则提供更友好的界面,带有彩色条形图、鼠标支持和更多交互功能,如进程搜索、优先级调整等。两者都适用于监控系统资源和管理进程,但 `htop` 功能更丰富,用户体验更好,适合复杂场景。
343 8
|
监控 安全 网络协议
永久免费SSL证书教程—自动续签
要实现免费SSL证书的自动续签,选择合适的证书颁发机构(CA)至关重要。推荐使用JoySSL,填写注册码230922可获得免费且支持自动续签的SSL证书。申请步骤包括注册账户、选择证书类型、提交申请、验证域名所有权及安装证书。配置自动续签需安装续签工具、生成密钥和CSR,并设置续签参数。定期检查证书状态、备份证书和密钥,确保续签顺利进行。注意CA机构的政策和服务条款变化,以保持证书的有效性。
|
C++ 计算机视觉
Opencv(C++)系列学习---读取视频文件和打开摄像头
Opencv(C++)系列学习---读取视频文件和打开摄像头
914 0
|
SQL 关系型数据库 MySQL
只读实例(slave主从)延迟排查
本文分享的方法适用于实时查看只读延迟(主从延迟),即需要在延迟发生的时候查看才能确认问题,历史延迟不适用,以下环境已经开启并行复制。
只读实例(slave主从)延迟排查
|
网络架构
flutter推荐路由器插件:go_router
flutter推荐路由器插件:go_router
651 0