【Python爬虫历程】XPATH常用的语法介绍

首先说明一下,不管是什么浏览器什么插件,语法都是一样的,我这里还是用的火狐浏览器的 Try XPath 插件做示范 

 

1.选取节点:

XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

这里关于/和//的用法,/是子节点,//是子孙节点。 

【Python爬虫历程】XPATH常用的语法介绍_第1张图片 

比如//div,表示从全局找所有的div节点。如下图所示。 

【Python爬虫历程】XPATH常用的语法介绍_第2张图片

 全局的body下面的所有span节点,结果如图。

【Python爬虫历程】XPATH常用的语法介绍_第3张图片

查找全局的body下面的所有带class属性的span节点,结果如图。

 

2.谓语:

谓语用来查找某个特定的节点或者包含某个指定的值的节点,被嵌在方括号中。 在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:

注意: 下标是从1开始的 ,不是从0开始的。

| 路径表达式                                                                | 描述 | 

| /bookstore/book[1]                                                     | 选取bookstore下的第一个子元素 |

| /bookstore/book[last()]                                               | 选取bookstore下的最后一个个book元素。 |

| bookstore/book[position()<3]                                     | 选取bookstore下前面两个子元素。 |

| //book[@price]                                                           | 选取拥有price属性的book元素 |

| //book[@price=10]                                                     | 选取所有属性price等于10的book元素 |

 

3.通配符

*表示通配符。

| 通配符                   | 描述                                          | 示例                                          | 结果 |

 | *                           | 匹配任意节点                            | /bookstore/*                              | 选取bookstore下的所有子元素。 |

| @*                        | 匹配节点中的任何属性              | //book[@*]                                | 选取所有带有属性的book元素。 |

 

4.选取多个路径:

通过在路径表达式中使用“|”运算符,可以选取若干个路径。 示例如下:

``` //bookstore/book | //book/title

 

 

你可能感兴趣的:(python爬虫历程,xpath,爬虫,语法)