Python操作lxml库实战之Xpath篇
作者:醉蕤 发布时间:2023-12-26 23:08:00
标签:python,lxml,xpath
一、Xpath概述
1、Xpath简介
Xpath(XML Path Language) 是一门在 XML 文档中查找信息的语言,可以用来在XML文档中对元素和属性进行遍历。XPath 用于在 XML 文档中通过元素和属性进行导航。其是一种路径语言(XML Path Language),用来确定XML文档中某部分的位置。
XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是XPath很快的被开发者采用来当作小型*查询语言被广泛使用。
2、 Xpath的安装
Xpath只是 lxml
库中的一个模块,想要使用 Xpath
那么就需要安装 lxml
库
pip install lxml
二、Xpath的常用规则
1、路径查找
Xpath 的主要语法
2、节点查找
查找节点的一些语法
3、未知节点
当我们匹配时会出现路径不确定的情况,这个时候我们就要涉及到匹配未知节点。匹配未知节点也有对应的语法。
4、获取节点中的文本
通过 属性方法可以获取属性内的内容,但是位于节点之间的内容无法获取到,这个时候就可以通过 text()
与 string()
方法来获得其中的文本。
通过 text()
获取某个节点中的文本
In [1]: page.xpath('//li/a[3]/text()')
Out[1]: ['霸道总裁爱上我', '斗罗大陆']
#通过 text() 属性可以很轻松的获取标签之间的文本。
通过 string()
获取某个节点中的文本
In [1]: page.xpath('string(//li[1]/a[3])')
Out[1]: '霸道总裁爱上我'
5、选取多个路径
需要同时查找多个条件时可以通过在路径表达式中使用管道符("|"),选取若干个路径
In [1]: page.xpath('XXXXXXX | XXXXXXXtext()')
Out[1]: ['']
来源:https://blog.csdn.net/m0_63794226/article/details/126377840
0
投稿
猜你喜欢
- 手痒痒系列之简单的放大镜写了个放大镜功能,可以设置显示的宽高width,height显示的位置,float ‘left’ 'righ
- 如何用通过Web访问OLAP数据? <% Set Conn=Server.CreateObject(″A
- 简介本文主要简述如何通过sklearn模块来进行预测和学习,最后再以图表这种更加直观的方式展现出来数据集学习数据预测数据数据处理数据分离因为
- 1. 导入库import numpy as np #矩阵运算import matplotlib.pyplot as plt #可视化impo
- 场景:查找who删了我,直接copy代码保存到一个python文件who.py,在python环境下运行此文件代码如下,copy保存到who
- 引言近期在好几个地方都看到meshgrid的使用,虽然之前也注意到meshgrid的用法。但总觉得印象不深刻,不是太了解meshgrid的应
- 最新版本的Python发布了!今年夏天,Python 3.8发布beta版本,在2019年10月14日,第一个正式版本已准备就绪。现在,我们
- 用法:matplotlib.pyplot.stem(*args, linefmt=None, markerfmt=None, basefmt
- 爬虫中scrapy.Request的更多参数scrapy.Request的参数scrapy.Request(url[,callback,me
- List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非你对它们进行排序或其他修改操作)
- 由于并不清楚服务器具体地址,只有jupyter 连接的情况下,上传文件。方法一:用Linux命令直接用linux命令,在jupyter中只需
- 每次抽取后都重新洗牌。计算10000次随机抽取可得到同花的几率。我做的比较复杂,分别累计了四种花色分别出现了几次import randoml
- 1.视频分解图片我们使用cv2.VideoCapture来读取视频import cv2cap = cv2.VideoCapture('
- 在上一期中作者向诸位简要介绍了 ASP 脚本语言之一 VBScript 的一些基本常识,本期将继续给大家讲解 VBScript 的脚本编写方
- 1、版本说明 :python 2.7.10, Django (1.6.11.6),centos72、步骤说明:A、django 建立项目dj
- 引入Gridgrid=Grid() # 可以分别调整上下左右的位置,可以是百分比,也可以是具体像素,如pos_top="50px&
- Stickyworld 的网页应用已经支持视频拨放一段时间,但都是通过YouTube的嵌入模式实现。我们开始提供新的版本支持视频操作,可以让
- 两年前发表的《The visual design of Web 2.0》中提到“Rounded everything”,圆角因使人感觉舒适的
- Thinkphp6的日志问题日志级别debug, info, notice, warning, error, critical, alert
- 图像增强算子几何变换算子图像的几何变换又称为图像空间变换, 它将一幅图像中的坐标位置映射到另一幅图像中的新坐标位置。图像缩放缩放只是调整图像