什么是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. 无法向Windows服务器复制粘贴文件

    在向服务器拷贝文件的时候卡死,直接任务管理器结束应用程序,但是随之引发一个问题,就是之后不能从本地向服务器拷贝文件了,只能服务器自己复制粘贴. 解决办法重启rdpclip.exe,先在任务管理器中结束 ...

  2. 大公司的资深工程师和小公司的Leader如何决择?

    很多人在技术的道路上,都会面临选择,一个是大公司的资深工程师/技术专家,一个是小公司的leader,这个选择是一条分叉路口,是持续纵向深入发展,还是横向发展.这实际上就是个人职业规划问题. 接着往专家 ...

  3. Javascript中遍历数组方法的性能对比

    Javascript中常见的遍历数组的方法 1.for循环 for(var i = 0; i < arr.length; i++) { // do something. } 2.for循环的改进 ...

  4. HTML知识点之表示强调的主要元素

    <h1>~<h6> 在HTML中,标题(Heading)元素共有6个级别的标签:<h1>~<h6>.它们都是块级元素.标题数字越小,字体就会越大,标题的 ...

  5. sync_binlog innodb_flush_log_at_trx_commit 浅析

    一 参数意义 innodb_flush_log_at_trx_commit 如果innodb_flush_log_at_trx_commit设置为0,log buffer将每秒一次地写入log fil ...

  6. css的学习笔记

    CSS3有哪些新特性? 1. CSS3实现圆角(border-radius),阴影(box-shadow), 2. 对文字加特效(text-shadow.),线性渐变(gradient),旋转(tra ...

  7. 有具体名称的匿名函数var bar = function foo(){}

    http://kangax.github.io/nfe/ 命名的函数表达式 函数表达式实际上可以经常看到.Web开发中的一个常见模式是基于某种特性测试来"分叉"函数定义,从而获得最 ...

  8. spring官方学习地址

    1.http://projects.spring.io/spring-framework/ 2.https://github.com/spring-projects/spring-mvc-showca ...

  9. BZOJ:4031: [HEOI2015]小Z的房间

    Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1103  Solved: 536[Submit][Status][Discuss] Descripti ...

  10. angular1项目打包app及logo和启动图片的设置

    打包思想:ionic和angular混合开发app,那么纯angular1的项目也是可以打包出来. 技术需要:安装一个新的ionic2的项目,环境配置成功,这里打包的配置需要 http://www.c ...