当前位置: 首页 > news >正文

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

我们需要闭合这里的标签

|然后再运行就可以了

http://www.lryc.cn/news/155161.html

相关文章:

  • uniapp组件库总结笔记
  • day-42 代码随想录算法训练营 动态规划 part 04
  • Swift 周报 第三十六期
  • 手写Mybatis:第19章-二级缓存
  • Alibaba Canal 使用记录
  • GIT实战篇,教你如何使用GIT可视化工具
  • lv3 嵌入式开发-4 linux shell命令(文件搜索、文件处理、压缩)
  • SpringBoot2.0集成WebSocket,多客户端
  • 华为OD机试 - 等和子数组最小和 - 深度优先搜索(Java 2022 Q4 100分)
  • 浏览器会因为什么样的脚本而崩溃
  • 生成与调用C++动态链接库(so文件)
  • 韶音的耳机怎么样,韶音骨传导耳机值得入手吗
  • STM32G030F6 (SOP-20)Cortex ® -M0+, 32KB Flash, 8KB RAM, 17 GPIOs
  • 常用的字符集和字符编码
  • 容器技术简介
  • 数据分享|R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据...
  • macos 不支持svn安装
  • 如何通过实际操作来加深对Linux命令和概念的理解?
  • 【开发语言】C语言与Python的互操作详解
  • 华为配置聚合vlan(Super vlan--Sub vlan)
  • CentOS7安装时直接跳过了安装信息摘要页面的解决方法
  • python基础运用例子
  • k8s基本概念
  • Python exp() 函数
  • Day 34 贪心算法 part03 : 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果
  • 气象站的构成及功能应用
  • Qt中布局管理使用总结
  • (位运算) 剑指 Offer 15. 二进制中1的个数 ——【Leetcode每日一题】
  • 基于SSM的新能源汽车在线租赁系统
  • CTF 代码审计之绕过过滤的空白字符