6.xpath的基本使用
xpath是python做数据解析的库
目录
1 安装
2 解析本地的html文件
2.1 只有一个标签的情况
2.2 有多个标签的情况
3 解析网上的页面
4 xpath表达式
4.1 绝对路径
4.2 两个斜杠表示中间隔了0级或多级
4.3 通过属性查找
4.4 通过索引查找
4.5 获取文本内容
4.6 获取属性
4.7 或运算
5 xpath返回的对象使用xpath
6 常见错误
6.1 存在没闭合的标签
1 安装
pip install lxml

2 解析本地的html文件
2.1 只有一个标签的情况
比如我想找到test.html中的title

xpath()中接的是xpath表达式,xpath就和linux中的路径一样,先是html然后是head最后找到title

由于title只有一个,所以返回的结果列表中只有一个title对象

2.2 有多个标签的情况
比如我现在想找到这两个div



3 解析网上的页面


4 xpath表达式
4.1 绝对路径



4.2 两个斜杠表示中间隔了0级或多级
可以表示0级



也可以表示多级



由于两个斜杠表示多级,所以一开始的html也没必要写了


4.3 通过属性查找
比如我找这个



再比如我找这个



4.4 通过索引查找
上面我是对tree.xpath()返回的列表进行索引,我们也可以直接写在xpath表达式中,比如我找第二个div
- xpath表达式是从第1个算的,不算从第0个算的



4.5 获取文本内容
上面我是在外部使用的text,你也可以在里面使用text(),比如我想获得所有div的文本内容



text()只能拿到直系的文本内容,隔一层就拿不到了



如果你写 //text() 就可以拿到了



4.6 获取属性
比如我想取所有div的something属性值


只有一个div有something这个属性,所以只显示一个

换一个属性也一样,比如class



4.7 或运算
比如我现在想那 span或div 的内容



5 xpath返回的对象使用xpath


6 常见错误
6.1 存在没闭合的标签
我现在想找这个title

那我可以这样写

运行后会报错

这个错误的原因就是有没闭合的标签,比如这里的meta

我们需要闭合这里的标签

|然后再运行就可以了

相关文章:
6.xpath的基本使用
xpath是python做数据解析的库 目录 1 安装 2 解析本地的html文件 2.1 只有一个标签的情况 2.2 有多个标签的情况 3 解析网上的页面 4 xpath表达式 4.1 绝对路径 4.2 两个斜杠表示中间隔了0级或多级 4.3 通过属性查找 4.4 通过索引查找 4.5 获取文本内容…...
uniapp组件库总结笔记
uView-ui uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架 优点:整体样式风格不错 缺点:不支持vue3(可以使用社区维护的uview-plus uview-plus 3.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架) uni-u…...
day-42 代码随想录算法训练营 动态规划 part 04
416.分割等和子集 分析:需要总和能分成两半,并且有子集能装满一半 思路: 1.dp存储:容量为j时装入的最大数值和dp[j]2.dp[j]max(dp[j],dp[j-nums[i]]nums[i]) 3.全部初始化为04.遍历顺序:外层遍历元素,内…...
Swift 周报 第三十六期
文章目录 前言新闻和社区消息称苹果公司和印度财政部官员磋商,扩大在印度的制造产能iPhone 15 Pro 机型新增泰坦灰iPhone 15 全系配 USB-C 苹果拒绝接口和安卓互通 提案正在审查的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组整理周报的第三十…...
手写Mybatis:第19章-二级缓存
文章目录 一、目标:二级缓存二、设计:二级缓存三、实现:二级缓存3.1 工程结构3.2 二级缓存类图3.3 二级缓存队列3.3.1 FIFI缓存策略3.3.2 事务缓存3.3.3 事务管理3.3.4 修改一级缓存 3.4 缓存执行器3.4.1 执行器接口3.4.2 执行器抽象基类3.4.…...
Alibaba Canal 使用记录
项目中使用 canal 来同步数据到 Elasticsearch, 遇到很多问题,做一下记录: 版本问题: 1. 解析binlog出错 ,表现为 limit excceed:xx 目前使用 mariadb 10.9.7/10.10.6 canal 1.1.6 hotfix ,在这个版本组…...
GIT实战篇,教你如何使用GIT可视化工具
系列文章目录 手把手教你安装Git,萌新迈向专业的必备一步 GIT命令只会抄却不理解?看完原理才能事半功倍! 快速上手GIT命令,现学也能登堂入室 GIT实战篇,教你如何使用GIT可视化工具 系列文章目录一、GIT有哪些常用工具…...
lv3 嵌入式开发-4 linux shell命令(文件搜索、文件处理、压缩)
目录 1 查看文件相关命令 1.1 常用命令 1.2 硬链接和软链接 2 文件搜索相关命令 2.1 查找文件命令 2.2 查找文件内容命令 2.3 其他相关命令 3 文件处理相关命令 3.1 cut 3.2 sed 过滤 3.3 awk 匹配 4 解压缩相关命令 4.1 解压缩文件的意义 4.2 解压缩相关命令 1 …...
SpringBoot2.0集成WebSocket,多客户端
适用于单客户端,一个账号登陆一个客户端,登陆多个客户端会报错 The remote endpoint was in state [TEXT_FULL_WRITING] 这是因为此时的session是不同的,只能锁住一个session,解决此问题的方法把全局静态对象锁住,因…...
华为OD机试 - 等和子数组最小和 - 深度优先搜索(Java 2022 Q4 100分)
目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》…...
浏览器会因为什么样的脚本而崩溃
浏览器可能因为以下几种情况而崩溃: 无限循环:如果JavaScript脚本包含一个无限循环,浏览器将无法停止脚本的执行,导致浏览器不响应甚至崩溃。例如,以下代码会导致无限循环: while (true) {// 无限循环 } 内…...
生成与调用C++动态链接库(so文件)
文章目录 前言生成C动态链接库步骤1:编写C源码步骤2:生成共享库步骤3:验证生成的SO文件 调用C动态链接库步骤1:修改原来makefile步骤2:编译调用程序步骤3:运行调用程序 总结 前言 动态链接库是代码重用和模…...
韶音的耳机怎么样,韶音骨传导耳机值得入手吗
韶音关于骨传导耳机的产品在质量方面还是有着不错的表现,其最具代表性的骨传导耳机就是韶音OpenRun Pro,在国产骨传导耳机中是具备了一定的知名度,有着自主研发的声学技术。 最突出的点就在于颜色上多样化,有着经典的黑色…...
STM32G030F6 (SOP-20)Cortex ® -M0+, 32KB Flash, 8KB RAM, 17 GPIOs
淘宝淘了一批 STM32G030F6P6 SOP20.先备注一下, 还没想到能干嘛用. 手上的 STM32F103C6T6还剩一些. 一堆 “淘宝原厂STM32F103C8T6”, 还烫着手. 理解信息: ( 逐步补充 ) System Clock GPIOs GPIOs 17 PA[7:0] : 8bits USART Timer ADC I2…...
常用的字符集和字符编码
基础概念 字符 字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等 字符集 一个操作系统支持的字符的集合。 字符编码和解码 将每个字符都设置一个唯一编号,编码就是将字符集中的字符编号以一定形式转化为字节存储下来,…...
容器技术简介
引言 随着云计算、大数据、人工智能等技术的不断发展,容器技术作为一种新兴的虚拟化技术,正逐渐成为IT领域的热点。容器技术可以帮助开发者更好地管理、部署和扩展应用程序,提高开发效率和应用程序的可靠性。本文将深入探讨容器技术的概念、…...
数据分享|R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据...
全文链接:http://tecdat.cn/?p22813 本教程为读者提供了使用频率学派的广义线性模型(GLM)的基本介绍。具体来说,本教程重点介绍逻辑回归在二元结果和计数/比例结果情况下的使用,以及模型评估的方法(点击文末“阅读原文…...
macos 不支持svn安装
macos 10.13可能不支持svn命令,所以要安装 xcode-select --install 弹窗在线安装失败的话只能手动下载安装 打开:Sign In - Apple 搜索Command Line Tools (macOS 10.13) 下载9.4.1版本直接安装后即可...
如何通过实际操作来加深对Linux命令和概念的理解?
作为一个新手,你一定不要被Linux那堆命令吓到。其实,它们就像你的“超能力”,只要你掌握它们,你就能成为Linux世界的超级英雄! 首先,我们要了解的是,Linux命令其实就像你的“魔法咒语”&#x…...
【开发语言】C语言与Python的互操作详解
博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…...
忍者像素绘卷部署案例:双GPU显存优化+CPU卸载,推理速度提升300%
忍者像素绘卷部署案例:双GPU显存优化CPU卸载,推理速度提升300% 1. 项目概述 忍者像素绘卷是一款基于Z-Image-Turbo深度优化的图像生成工作站,专为16-Bit复古风格像素艺术创作而设计。这款工具将传统漫画创作与现代AI技术相结合,…...
资源限制工具:解决腾讯游戏ACE-Guard资源占用过高的创新方案
资源限制工具:解决腾讯游戏ACE-Guard资源占用过高的创新方案 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源,支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 为什么游戏玩家总是陷入"卡…...
从零上手!用 Python+OpenCV 实现 LBPH 人脸识别,小白也能跑通
一、写在前面:人脸识别到底是什么?你有没有好奇过,手机的人脸解锁、门禁的刷脸开门,到底是怎么认出你的?其实核心逻辑很简单:先 “记住” 人脸:把你的多张照片喂给算法,让它学习你的…...
用 DeepWiki 线索看 OpenClaw:它到底用到了哪些 AI 技术?
用 DeepWiki 线索看 OpenClaw:它到底用到了哪些 AI 技术? OpenClaw 近来在个人 AI 助手、Agent 框架和本地优先智能体领域里讨论度很高。很多人第一次看到它,会把它简单理解为“一个能接聊天渠道的大模型壳子”。但如果顺着 GitHub 文档以及项…...
Chocolatey 安装 Python 3 时那些你可能不知道的隐藏依赖(附详细日志分析)
Chocolatey 安装 Python 3 时那些你可能不知道的隐藏依赖(附详细日志分析) 当你在 Windows 系统上使用 Chocolatey 安装 Python 3 时,表面上看只是一条简单的命令,但背后却隐藏着一系列复杂的依赖处理过程。这些自动安装的组件往往…...
软萌拆拆屋惊艳效果:多层叠穿服饰逐层展开结构图生成案例
软萌拆拆屋惊艳效果:多层叠穿服饰逐层展开结构图生成案例 1. 引言:当AI遇见“拆解美学” 想象一下,你有一件设计精巧的洛丽塔裙子,上面缀满了蕾丝、蝴蝶结和复杂的褶皱。你想向别人展示它的每一个精妙细节,但一张普通…...
从新手小白到资深开发者:GISBox与QGIS如何适配你的成长路径?
随着地理信息技术的加速演进,工具选型已成为提升空间数据处理效率的关键环节。本文立足于产品定位、功能体系与目标用户三大核心维度,系统梳理GISBox与QGIS的差异化特征,旨在为教育、科研、企业及个人开发者提供清晰、务实的工具决策依据。 …...
hadoop+spark+hive租房推荐系统 租房数据智能分析平台 Django框架 可视化 Requests爬虫
1、项目介绍 技术栈 Python语言、Django框架、MySQL数据库、Echarts可视化 工具、requests爬虫框架,用于58同城租房数据的采集清洗、多维度分析与可视化展示。功能模块租房数据可视化大屏租房数据管理系统首页租房数据条件查询评论功能租房数据展示项目…...
word简历模板(含范文),免费下载
word简历模板导言 在竞争激烈的求职市场中,一份专业、个性化的简历是叩开理想企业大门的关键。简历不仅是个人经历的罗列,更是能力、潜力与职业规划的集中体现。然而,许多求职者因缺乏经验或模板参考,难以突出自身优势࿰…...
IronCalc 性能基准测试:与传统电子表格引擎的对比分析
IronCalc 性能基准测试:与传统电子表格引擎的对比分析 【免费下载链接】IronCalc Main engine of the IronCalc ecosystem 项目地址: https://gitcode.com/gh_mirrors/ir/IronCalc IronCalc 是一个基于 Rust 语言开发的现代化开源电子表格引擎,专…...
