xpath基础学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/XZ2585458279/article/details/79336904

前言

偶然看见pythonscrapy框架,由于兴趣的吸引,最近如入门式的学习,在学习过程中遇到了xpath的相关知识,在此进行总结方面日后查询和记忆。
参考:
菜鸟教程

理解

XPath是一门在 XML 文档中查找信息的语言。当然也可以运用于HTML。在scrapy中用来查找页面需要的内容。

选取节点

  • 节点名:选取此节点的所有子节点
  • /:从根节点选取
  • //:从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置(理解)
  • .:选取当前节点
  • ..:选取当前节点的父节点
  • @:选取属性

注:这些语法可以混合使用。

表达式 说明
article 选取所有article元素的所有子节点
/article 选取根元素article
article/a 选取所有属于article的子元素的a元素(不考虑位置)
/div 选取所有div元素
article//div 选取所有article元素的后代div元素
//@class 选取所有名为class的属性

谓语

谓语用来查找某个特定的节点或者包含某个指定的值的节点。谓语被嵌在方括号中。

  • [number]:匹配的第number个节点。
  • [last-number]:当number0时选取最后一个,其他倒数匹配。
  • [position()<number]:选取匹配的前number-1个元素。
  • [@lang]:选取所有拥有名为lang 的属性的节点。
  • [@lang='eng']: 元素拥有值为 englang 属性。

通配符

  • * :匹配任何元素节点。
  • @* :匹配任何属性节点。
  • node() :匹配任何类型的节点。

选取若干路径

通过在路径表达式中使用|运算符,您可以选取若干个路径。

结尾

当然关于xpath并不仅仅于此,对于目前的基础学习,选择内容仅了解如此。

猜你喜欢

转载自blog.csdn.net/XZ2585458279/article/details/79336904