scrapy_xpath

什么是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(@属性,属性值) ] 

posted @ 2017-07-26 07:16  梦_鱼  阅读(240)  评论(0编辑  收藏  举报