源 / 马哥LIinux运维        文 / j_hao104

一、选取节点

常用的路劲表达式:

表达式

描述

实例

nodename

选取nodename节点的所有子节点

xpath('//div')

选取了div节点的所有子节点

/

从根节点选取

xpath('/div')

从根节点上选取div节点

//

选取所有的当前节点,不考虑他们的位置

xpath('//div')

选取所有的div节点

.

选取当前节点

xpath('./div')

选取当前节点下的div节点

..

选取当前节点的父节点

xpath('..')

回到上一个节点

@

选取属性

xpath('//@calss')

选取所有的class属性

 二、谓语

谓语被嵌在方括号内,用来查找某个特定的节点或包含某个制定的值的节点

实例:

表达式

结果

xpath('/body/div[1]')

选取body下的第一个div节点

xpath('/body/div[last()]')

选取body下最后一个div节点

xpath('/body/div[last()-1]')

选取body下倒数第二个div节点

xpath('/body/div[positon()<3]')

选取body下前两个div节点

xpath('/body/div[@class]')

选取body下带有class属性的div节点

xpath('/body/div[@]')

选取body下class属性为main的div节点

xpath('/body/div[price>35.00]')

选取body下price元素值大于35的div节点

三、通配符

Xpath通过通配符来选取未知的XML元素

表达式

结果

xpath('/div/*')

选取div下的所有子节点

xpath('/div[@*]')

选取所有带属性的div节点

四、取多个路径

使用“|”运算符可以选取多个路径

表达式

结果

xpath('//div|//table')

选取所有的div和table节点

 五、Xpath轴

轴可以定义相对于当前节点的节点集

轴名称

表达式

描述

ancestor

xpath('./ancestor::*')

选取当前节点的所有先辈节点(父、祖父)

ancestor-or-self

xpath('./ancestor-or-self::*')

选取当前节点的所有先辈节点以及节点本身

attribute

xpath('./attribute::*')

选取当前节点的所有属性

child

xpath('./child::*')

返回当前节点的所有子节点

descendant

xpath('./descendant::*')

返回当前节点的所有后代节点(子节点、孙节点)

following

xpath('./following::*')

选取文档中当前节点结束标签后的所有节点

following-sibing

xpath('./following-sibling::*')

选取当前节点之后的兄弟节点

parent

xpath('./parent::*')

选取当前节点的父节点

preceding

xpath('./preceding::*')

选取文档中当前节点开始标签前的所有节点

preceding-sibling

xpath('./preceding-sibling::*')

选取当前节点之前的兄弟节点

self

xpath('./self::*')

选取当前节点

六、功能函数

使用功能函数能够更好的进行模糊搜索

函数

用法

解释

starts-with

xpath('//div[starts-with(@id,"ma")]')

选取id值以ma开头的div节点

contains

xpath('//div[contains(@id,"ma")]')

选取id值包含ma的div节点

and

xpath('//div[contains(@id,"ma") and contains(@id,"in")]')

选取id值包含ma和in的div节点

text()

xpath('//div[contains(text(),"ma")]')

选取节点文本包含ma的div节点

scrapy xpath文档:http://doc.scrapy.org/en/0.14/topics/selectors.html

-END-

转载声明:本文选自「马哥LIinux运维 」。

重磅推出全新学习模式
用打卡学Python
每天30分钟
30天学会Python编程

世界正在奖励坚持学习的人!

xpath contains_Python神技能 | 六张表,搞定 Xpath 语法!相关推荐

  1. SpringBoot和Mybatis实现评论楼中楼功能(一张表搞定)

    文章目录 一.数据库设计 二.搭建SpringBoot框架 三.代码编写 零.效果 在网上搜索了很多,发现很多都是用两张表或者使用jpa实现的,本篇文章将讲述使用一张表来实现评论回复楼中楼功能,使用M ...

  2. SpringBoot和Mybatis实现评论楼中楼功能(一张表搞定,含源码)

    原文链接:https://onestar.newstar.net.cn/blog/35 零.效果 在网上搜索了很多,发现很多都是用两张表或者使用jpa实现的,本篇文章将讲述使用一张表来实现评论回复楼中 ...

  3. 如何用法向量求点到平面距离_高中数学丨2020新标课本,空间向量与二面角所有知识点,一张表搞定...

    建立空间直角坐标系常用方法: 1.底面是正方形,常以底面两条临边x轴,y轴: 2.底面是菱形,常以底面两条对角线为x轴,y轴: 3.底面是等腰三角形,常以底边及底边上的高为x轴,y轴: 4.底面为平行 ...

  4. k型热电偶分度表_一张表搞定热电偶与热电阻的问题

    昨天我们的钟罩炉加热系统有点问量,4#炉加热慢,对其加热系统进行了检修,问题出在热电偶,现在我简单介绍下热检测元件的功能和使用. 在工民用电过程中,加热系统也是一个应用比较广的领域,像冶炼加工厂.发电 ...

  5. 学习能力篇:如何用三张表搞定学习计划?

    前言: 前面说过学习目标的重要性,而把目标写下来,并制定合理的计划,最后行动起来方能事半功倍. 可以说计划是成功的地图. 在以前的学习生涯中也没有人专门讲这个话题,本文就是解决这个问题的. 进入正文: ...

  6. android 视网膜黄斑检查 amsler,自测黄斑病变 | 一张图搞定

    原标题:自测黄斑病变 | 一张图搞定 关注 很多人提到黄斑都唯恐避之不及,但你知道吗?人体也有一个重要的"黄斑"部位是必须保护的那就是眼底黄斑区,它跟我们的视觉是密切相关的. 如果 ...

  7. 九十六、轻松搞定Python中的PPT办公自动化系列

    @Author:Runsen @Date:2020/7/14 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...

  8. 【一张图搞定关机程序】让你的代码有趣起来!送兄弟送闺蜜,快乐原来如此简单!(赋全过程和结果,超详细解说)

    从这里开始让你的代码有趣起来 事情是这样的 关机程序 实现关机指令 代码实现 如何把程序送出去 故事后续 快乐传递 事情是这样的 你也许不会想到,简单的几行的代码居然可以带来如此多的快乐,那么事情究竟 ...

  9. Math:利用学生计算器计算一大堆的平均数和方差思维图文教程(一张图搞定!)

    Math:利用学生计算器计算一大堆的平均数和方差思维图文教程(一张图搞定!) 目录 利用学生计算器计算一大堆的平均数和方差教程 利用学生计算器计算一大堆的平均数和方差教程 我们的学生计算器其实有很多功 ...

最新文章

  1. 线性方程组与基尔霍夫定律
  2. MySql中把一个表的数据插入到另一个表中的实现代码--转
  3. 16.Hadoop架构再探讨第1部分
  4. 得到qq正在登录的qq号
  5. android+adt+很慢,Android的模拟器,在ADT中调试运行AVD时,速度太慢
  6. 狂神说spring笔记
  7. payara 创建 集群_高可用性(HA),会话复制,多VM Payara群集
  8. Android App图片轮播效果的组件化
  9. java 远程调用url_使用Java的URL/HttpURLConnection进行远程调用(POST请求)
  10. 前端开发人员常用网站
  11. html转word 文档 doc docx
  12. 浙江最新建筑施工特种工(施工升降机)机考真题及答案解析
  13. matlab imcrop 对应python函数_MATLAB车牌识别之车牌精准定位浅谈
  14. 学习|Android使用TTS语音合成
  15. 原型开发工具_开发工具的未来原型
  16. 关于侵权Sinesafe官方网站,仿冒、抄袭等恶劣行为的公告
  17. nyoj 小明的存钱计划
  18. 旧机还在换盆?! Linux deploy让她再发光!
  19. 手机怎么调整照片分辨率?照片清晰度dpi怎么调整?
  20. python爬虫(9)获取动态搞笑图片

热门文章

  1. python import
  2. 这可能是人工智能、机器学习和大数据领域覆盖最全的一份速查表
  3. 推荐四十多条纯干货 Java 代码优化建议
  4. JS学习--Date对象
  5. WINDOWS 端口查看
  6. vmware克隆Centos6.4虚拟机网卡无法启动问题
  7. 一个复杂系统的拆分改造实践
  8. 分享Silverlight/WPF/Windows Phone一周学习导读(4月4日-4月9日)
  9. Oracle数据库文件恢复与备份思路
  10. RHEL5下源码配置LAMP全记录