【Python第三方库】lxml 解析器和xpath路径语言

1.lxml是做什么的

        是xml/html的解析器,主要是用来解析和提取html/xml数据

2.lxml语法
  • 使用etree.HTML(html字符串),将字符串转换为Element对象
  • 通过使用Element对象.xpath(语法)提取信息,返回的是一个列表的内存地址,需要通过使用索引获取信息
​​​​​​​​​​​​​​3.Xpath是什么

        在HTML/xml文档中查找信息语言,使用路径表达式来选取html/xml文档中的节点/节点集

4.常用节点选取工具
  • 谷歌浏览器里面使用XPath Helper
​​​​​​​5.XPath 语法 
  • 节点选择语法​​​​​​​
    • 节点分类概念举例
      /从根节点取/html/head/div 获取的html节点下的head节点下所有的div节点内容信息
      //从匹配选择的当前节点选择文档中的节点,不考虑节点位置//div 获取全html文档内的所有div节点的内容信息,返回列表
      .选取当前节点
      ..选取当前节点的父节点
      @选取指定节点内的属性

      //div[@class="map"] 获取全文档下的div节点中属性class的值为map的节点内容信息,返回的是列表

      //img[@id="s_log"]/@scid获取img标签的id为s_log的scid

  • 节点修饰语法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/795125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实验5-表达式求值算法

要求: 优化表达式求值算法,使得该算法可实现多位整数甚至浮点数的四则运算,并写程序进行验证 一下代码由AI生成,这个作业我是实在不想做了,老师上课讲的时候也是一笔带过,然后就要求我们自己动手写......…

redis的List详细介绍

Redis的列表(List)是一个由字符串组成的双向链表。以下是关于Redis列表的一些详细介绍: 基本概念: Redis的列表数据构造模式是一个双向链表,这意味着你可以在表头或表尾追加元素,从表头或表尾弹出元素。每个…

Java实现ATM机模拟系统(Week2)

目录 前言 项目规划(第二周) 具体实现 用户大类 AccountOperations接口 UserOperations接口 Operations类(实现类) Account类 User类 Area类 (父类) 货币大类 Money类(抽象类&…

redis的Set详细介绍

Redis的集合(Set)是由字符串组成的无序集合,和列表(List)不同的是,集合中的元素是唯一的,不存在重复的元素。以下是关于Redis集合的一些详细介绍: 基本概念: Redis的集合…

vue + koa + Sequelize + 阿里云部署 + 宝塔:宝塔数据库连接

之前文章已经介绍了宝塔上传前后端代码并部署,不清楚的请看这篇文章: vue koa 阿里云部署 宝塔:宝塔前后端部署 下面是宝塔创建数据库: 我用的 koa Sequelize 连接的数据库,Sequelize 非常适合前端使用&#xf…

【Python】字符串处理技巧大揭秘:从基础到高级

欢迎来CILMY23的博客 本篇主题为 字符串处理技巧大揭秘:从基础到高级 个人主页:CILMY23-CSDN博客 Python系列专栏:http://t.csdnimg.cn/HqYo8 上一篇博客: http://t.csdnimg.cn/5NRlT C语言专栏: http://t.csdnim…

5543: 【J1】【vector】【pair】星空时代大比武

题目描述 星空时代人类发明了很多太空母舰用来开拓家园,现有2n(n≤10)艘太空母舰进行战斗力大小比较,角逐出谁是最强太空母舰。比赛规则如下:1 号太空母舰和 2 号太空母舰比赛,胜者晋级。3 号太空母舰和 4…

虚幻UE5智慧城市全流程开发教学

一、背景 这几年,智慧城市/智慧交通/智慧水利等飞速发展,骑士特意为大家做了一个这块的学习路线。 二、这是学习大纲 1.给虚幻UE5初学者准备的智慧城市/数字孪生蓝图开发教程 https://www.bilibili.com/video/BV1894y1u78G 2.UE5数字孪生蓝图开发教学…

Docker 安装 Linux 系统可视化监控 Netdata

docker 安装 netdata 前提准备Docker 两种方式部署 Netdata1、使用 docker run 命令运行 netdata 服务2、使用 docker compose 运行 netdata 服务 Netdata 服务可视化界面Netdata 汉化处理 前提准备 说明:此处使用 windows11 安装的 docker desktop & wsl2/apli…

大语言模型LLM《提示词工程指南》学习笔记01

文章目录 大语言模型LLM《提示词工程指南》学习笔记01以下是使用不同LLM提供程序时会遇到的常见设置:标准提示词应该遵循以下格式:提示词要素 大语言模型LLM《提示词工程指南》学习笔记01 提示工程(Prompt Engineering)是一门较新…

linux E: You don‘t have enough free space in /var/cache/apt/archives/. 空间不足

问题: 在ubuntu的亚马逊云计算机平台上,apt install的时候,报错,空间不足 解决方法: 查看磁盘情况: 设置自动清理: sudo apt-get autoclean sudo apt-get clean 解决:

RabbitMQ3.13.x之十_流过滤的内部结构设计与实现

RabbitMQ3.13.x之十_流过滤的内部结构设计与实现 文章目录 RabbitMQ3.13.x之十_流过滤的内部结构设计与实现1. 概念1. 消息发布2. 消息消费 2. 流的结构1. 在代理端进行过滤2. 客户端筛选3. JavaAPI示例4. 流过滤配置5. AMQP上的流过滤6. 总结 3. 相关链接 1. 概念 流过滤的思…

前端与后端协同:实现Excel导入导出功能

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

[实战经验]Mybatis的mapper.xml参数#{para}与#{para, jdbcType=BIGINT}有什么区别?

在MyBatis框架中,传入参数使用#{para}和#{para, jdbcTypeBIGINT}的有什么区别呢? #{para}:这种写法表示使用MyBatis自动推断参数类型,并根据参数的Java类型自动匹配数据库对应的类型。例如,如果参数para的Java类型是Lo…

RISC-V GNU Toolchain 工具链安装问题解决(含 stdio.h 问题解决)

我的安装过程主要参照 riscv-collab/riscv-gnu-toolchain 的官方 Readme 和这位佬的博客:RSIC-V工具链介绍及其安装教程 - 风正豪 (大佬的博客写的非常详细,唯一不足就是 sudo make linux -jxx 是全部小写。) 工具链前前后后我装了…

非关系型数据库--------------------Redis 群集模式

目录 一、集群原理 二、集群的作用 (1)数据分区 (2)高可用 Redis集群的作用和优势 三、Redis集群的数据分片 四、Redis集群的工作原理 五、搭建redis群集模式 5.1启用脚本配置集群 5.2修改集群配置 5.3启动redis节点 5…

自动化运维(八)Ansible 之核心模块

Ansible 的核心模块是 Ansible 默认提供的一组最基本和常用的模块。这些模块涵盖了各种常见的任务,如文件管理、包管理、系统配置等。以下是一些 Ansible 的核心模块: 1、命令执行模块: command: 用于在远程主机上执行简单的命令。它不支持管道、重定向和通配符等 shell 功能…

Django--admin 后台管理站点

Django最大的优点之一,就是体贴的提供了一个基于项目model创建的一个后台管理站点admin。这个界面只给站点管理员使用,并不对大众开放。虽然admin的界面可能不是那么美观,功能不是那么强大,内容不一定符合你的要求,但是…

dm8 备份与恢复

dm8 备份与恢复 基础环境 操作系统:Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本:DM Database Server 64 V8 架构:单实例1 设置bak_path路径 --创建备份文件存放目录 su - dmdba mkdir -p /dm8/backup--修改dm.ini 文件…

非关系型数据库——Redis基本操作

目录 一、Redis数据库常用命令 1.Set——存放数据 2.Get——获取数据 3.Keys——获取符合条件的键值 4.Exists——判断键值是否存在 5.Del——删除指定键值 6.Type——获取键值对应的类型 7.Rename——对已有键值重命名(覆盖) 8.Renamenx——对…