2019-07-08-xpath

AI快速变现之路,AI视频创作 初期投入$3000(工具订阅+样片制作),重点攻克跨境电商和本地生活服务市场。关注2025年AIGC视频工具的API降价趋势(如Pika企业版折扣可达50%),建议与云服务商签订长期合作协议。 阅读详情
titlecategorylayouttagsdate
xpath的语法简介
python
post
python
2019-07-08 18:00:24

xpath用于XML解析,也可以用于HTML网页的解析。

对于HTML的解析概括起来就是:找到HTML中某个节点上下左右前后节点,然后对这些节点进行取值。

所以本文的思路就是介绍如何使用xpath对目标节点上下左右前后节点的选择。包括以下内容:

  • 所有节点
  • 根节点
  • 父节点的选择
  • 子节点的选择
  • 前面的节点的选择
  • 后面的节点的选择
语法

在正式介绍之前首先介绍的是xpath的语法。 xpath的语法和文本的路径类似,比如在ubuntu中某个路径为/home/user/data,这表示根目录下home文件夹下user文件夹下的data文件夹。同理,xpath中/表示根节点,而//表示文档中所有节点。

/node表示根下的node节点
//node表示文档中的所有node节点
所有节点

所有节点的选择通过*进行。

比如要选择某个节点下的所有节点,表示为//node/*。

父节点和子节点

父节点表示当前节点的上一级节点。比如node节点的父节点表示为//node/parent::*。 子节点表示当前节点的下一级节点。比如node节点的子节点表示为//node/child::*。

祖先节点和孙节点

祖先节点表示从根节点到当前节点的所有上级节点(不包括本节点)。比如node节点的祖先节点表示为//node/ancestor::*。 孙节点表示当前节点的所有下级节点(不包括本节点)。比如node节点的孙节点表示为//node/descendant::*。要包括本节点使用//node/descendant-or-self::*。

兄弟节点

兄弟节点表示跟当前节点同级的节点。 比如某个节点前面的所有兄弟节点(不包括本节点)//node/preceding-sibling::*。 比如某个节点后面的所有兄弟节点(不包括本节点)//node/following-sibling::*。

前后所有节点

父子节点,祖孙节点区别在于,父子节点只是对直属上下级节点的选择;祖孙节点在于从根节点到当前节点的所有节点的选择。 而前后所有节点的选择,在于除去从根节点到本节点外的所有前后节点。 前面所有节点的选择(不包括本节点)表示为//node/preceding::*。 后面所有节点的选择(不包括本节点)表示为//node/following::*。

属性操作

下面的内容介绍另一种选择节点的方法。

  • //node[1]:node节点的第一个
  • //node[last()]:node节点的最后一个
  • //@id:包含id属性的节点
  • //node[@id]:node节点中包含id属性的节点
  • //node[@*]:node节点中包含属性的节点
  • //node[not(@*)]:node节点中不包含属性的节点
  • //node[@id='b1']:node节点中包含属性id,值为b1的节点
  • //node[normalize-space(@id)='b1']:去除属性值中的空格
  • //*[count(node)=2]:包含node子节点超过2的节点
  • //*[name()='node']:节点名为node
  • //*[starts-with(name(),'B')]:节点名以B开头
  • //*[contains(name(),'C')]:节点名包含C
  • //*[string-length(name()) = 3]:节点名长度等于3
  • //node1 | //node2:选择node1和node2的并集
杰理SDK入门教程(二):USB升级程序 开发板升级操作指南 摘要:本文介绍了开发板程序升级的两种方式(常规升级和串口升级),重点说明了常规升级的操作步骤: 拨码设置:提供4种拨码方式(不拨/1档/2档/3档),对应不同指示灯状态和按键要求 硬件连接:强制升级工具需正确连接电脑和开发板(注意USB接口方向) 升级流程:根据拨码状态操作按键,观察指示灯变化(红灯常亮绿灯灭表示进入升级模式) 执行升级:运行SDK中的download.bat完成升级 文中还包含拨码开关说明、指示灯状态对照表以及升级原理说明,帮助用户理解升级过程。升级成功后在设备管理器可 阅读详情

相关推荐

Linux云服务器上搭建《僵尸毁灭工程》私服全流程指南(避坑版)

本文详细介绍了在Linux云服务器上搭建《僵尸毁灭工程》私服的全流程指南,包括环境准备、SteamCMD安装、游戏服务器部署、内存优化配置及高级调优技巧。特别针对常见问题提供解决方案,帮助玩家快速搭建稳定的私服环境。

solidity8miner的博客 599

Xpath 元素中的文本内容定位/兄弟节点定位

定义该元素:<a href="javascript:void(0);">+ 新建选项</a>Xpath=//a[text()='+ 新建选项']

ldt117354的博客 9096

STM32H7串口DMA避坑指南:如何解决RT-Thread默认驱动不支持的问题

本文针对STM32H7在RT-Thread系统中启用串口DMA时遇到的驱动不支持问题,提供了详细的解决方案。通过分析问题根源,指导修改驱动代码以适配H7的DMA Stream架构,并调整内存配置确保DMA可访问性,最终实现稳定高效的串口DMA通信。

weixin_29179311的博客 423

xpath和lxml库的使用

1. xml结构如下所示。

happy_working1的博客 2412

Ethercat学习-从站源码生成

移植平台GD32F450,从站芯片AX58100

西澳峰的博客 9209

AntV G6避坑指南:折叠树状图那些意想不到的BUG(附解决方案)

本文深入剖析了在React项目中使用AntV G6实现折叠树状图时,从图标错乱、数据同步到状态管理的常见BUG与解决方案。文章基于实战经验,详细解读了G6的内部机制,提供了从环境配置、自定义节点绘制到事件处理与性能优化的完整避坑指南,帮助开发者彻底解决折叠展开功能的疑难杂症。

wasm7browser的博客 255

XPATH基本语法

转发至:https://www.cnblogs.com/wendyw/p/11633588.html#_label0 XPATH基本语法 目录 1.XPATH与自动化之间的关系 2.XPATH简介 3.XPATH术语 4.XPATH语法 5.XPATH轴 6.XPATH运算符 7.用Text构建有效的XPATH 8.用Contains关键字构建有效的XPATH 9.用startwith关键字构建有效的XPATH 回到顶部 1.XPATH与自动化之间的关系 1.XPATH是

mingyqf的博客 2万+

【C++ 使用libxlsxwriter库向excel表格中插入图片 CMake + VS2019】

使用libxlsxwriter向excel表格插入图片

恒星游历者的博客 753

Android自动化测试之XPath相关总结.md

XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。 XPath简介 XPath 是一个 W3C 标准 , XPath 于 1999 年 11 月 16 日 成为 W3C 标准。 XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。 XPath节点 在 ...

茅屋 2887

【技术解析】华为智算中心:昇腾AI算力与无损网络如何驱动大模型训练

本文深入解析了华为智算中心如何通过昇腾AI算力与超融合以太无损网络的协同,驱动千亿参数大模型的高效训练。昇腾NPU提供专用计算引擎,而基于RoCE的无损网络则通过PFC、ECN等技术确保万卡集群间的高带宽、零丢包通信,实现算力利用率最大化,解决大规模AI训练的核心瓶颈。

weixin_29311017的博客 191

基于FSL的DTI数据预处理流程

最近在学习处理DTI数据,总结了一份应用FSL做DTI数据预处理的流程与大家交流交流。如果有错误的地方欢迎大家指正!        我用的数据是Philips的数据,如果是GE或者西门子的数据可能会有所不同。   原始数据:包括3DT1数据和高分辨率DTI数据,均是dicom格式。 工具:MRICRON和FSL,所有的命令均在Linux的终端中运行。   1.格式转换:将后缀名为dcm

zaza_zaza的博客 2万+

使用Xpath定位元素(和元素定位相关的Xpath语法)

本文主要讲述Xpath语法中,和元素定位相关的语法

软件猿扫地僧 3万+

某AI推荐系统项目管理复盘:架构师总结的6大方法论与调优策略

我是张三,某大厂资深AI架构师,主导过5个千万级用户的推荐系统项目(覆盖电商、内容、视频、音乐、外卖等场景)。我的公众号“AI架构师笔记”会分享更多AI项目管理和技术实战经验,欢迎关注。最后的话:推荐系统不是“一锤子买卖”,而是“持续优化的过程”。希望这篇文章能帮你少踩坑,多做对——毕竟,把复杂的事做成,才是架构师的核心能力。

2501_92132293的博客 360

xpath

本页位置: 开放首页 -> 开放 XML -> 标准中译 -> XML 路径语言 译文XML 路径语言(XPath) (版本  1.0) ( http://www.opendl.com/openxml/w3/TR/xpath/xpath-gb.html ) 英文XML Path Language(http://www.w3.org/TR/xpath)注意英文版是唯一的正式版, 其 URL 列在上面

徐虎的专栏 4180

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

xpath 与 xpointer

今天看了一下xcap的协议,每太搞明白xpointer是干什么用的,与xpath什么关系,查了下资料,才知道原来xpath 是为了 xslt与xpointer 公用而抽取出来的一部分,算是xslt与xpointer共用的一种表达式吧 下面是我找的一点资料,觉得挺有用的,有时间好好研究一下  

yoyoyao的专栏 1147

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

140.《python事使用xpath详解》

XPath 是一门在 XML 文档中查找信息的语言(路径语言)。XML 文档包括 HTML/XHTML、XML 和 XML Namespaces。你可以将 XPath 理解为在 XML/HTML 文档中检索和匹配元素节点的工具python主要是通过 lxml 包来实现。

qq_44864082的博客 599

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

字符串值提取工具-08-java 执行 xml 解析, xpath

我们希望通过 java 执行 xml-path 解析 xml。

419

java xpath修改xml_XPath解析,写入,修改xml文件

http://11:dd";xsw.writeStartElement("nsadfsadf","person",ns);xsw.writeStartElement(ns,"id");xsw.writeCharacters("1");xsw.writeEndElement();xsw.writeEndElement();xsw.flush();xsw.close();} catch (XMLStr...

weixin_39978696的博客 417

关于XPATH解析

xpath解析

2302_81218746的博客 588

关于DOM4J的Namespace的问题(XPath)

<br />关于DOM4J的Namespace的问题(XPath)2009-08-29 09:16大家经常运用DOM4J操作XML文档,如果XML文档存在namespace的话,读写XML经常不工作,解决方案很简单的:<br /><br />举个例子吧:<br /><br />比如我一个XML文件头是这样的:<br /><br /><?xml version="1.0"?><br /><scxml xmlns="http://www.w3.org/2005/07/scxml"<br />version="1

About VincentCao,About Future... 6886

C#使用Linq to XML进行XPath查询

在C#使用Linq to XML进行XPath查询,主要用到XPathSelectElements扩展方法。

【微软MVP】zhaotianff的专栏 1345

XPATH1.0 规范翻译

XML Path Language (XPath)XML路径语言Version 1.0W3C Recommendation 16 November 1999This version: http://www.w3.org/TR/1999/REC-xpath-19991116 (available in XML or HTML) Latest version: http:/

zhy2002的专栏 2070

XPath语法 在C#中使用XPath示例

http://www.cnblogs.com/yukaizhao/archive/2011/07/25/xpath.html XPath可以快速定位到Xml中的节点或者属性。XPath语法很简单,但是强大够用,它也是使用xslt的基础知识。 示例Xml: 01 xml version="1.0" encoding="utf-8" ?>

plean的专栏 576

通过实例简单演示 xpath 用法

这里我们就用一个简单的网页演示一下xpath的用法,其实也就是语法的结构。 网址:https://car.autohome.com.cn/pic/ 进入网页之后我们可以看到一些图片,今天我们就以爬取这些图片的地址为例。 我们F12查看一下,然后再查看一下源代码。 这样一来,我们就知道图片的地址可以直接在源代码中查看,所以也就比较容易一些了,接下来,我们一级一级查看图片地址所在的路径。 我们可以看到,图片的路径大致为:class名为js-tab-content tab-content的div标签/i

SmallSweets的博客 693

Xpath的使用

Xpath全称是XML Path Language,即XML路径语言,用来在XML文档中查找信息。虽然最初是用来搜寻XML文档的,但是在HTML文档中也同样适用。在做爬虫的时候,完全可以使用XPath实现相应的信息提取Xpath提供了100多个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等。

weixin_38081753的博客 314

Xpath6

Xpath常见用法 . 分类: 单元测试XPath2013-05-04 17:51201人阅读评论(0)收藏举报 XPathSelenium 在《Selenium超简单入门》一文中,介绍了Selenium爬取网页数据、网页自动测试的基本方法。而在使用Selenium过程中,经常需要查找页面中的DOM元素,我们必须告诉Selenium如何找到页面中的指定元素,然后它才能再执...

weixin_33889245的博客 80
上一篇: 2019-07-07-python-weibo-scrapy
下一篇: 2019-11-12-python-decorator
android_ruben
博客等级 码龄11年 106粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值