【Python爬蟲歷程】XPATH常用的語法介紹

首先說明一下,不管是什麼瀏覽器什麼插件,語法都是一樣的,我這裏還是用的火狐瀏覽器的 Try XPath 插件做示範 

 

1.選取節點:

XPath 使用路徑表達式來選取 XML 文檔中的節點或者節點集。這些路徑表達式和我們在常規的電腦文件系統中看到的表達式非常相似。

這裏關於/和//的用法,/是子節點,//是子孫節點。 

 

比如//div,表示從全局找所有的div節點。如下圖所示。 

 全局的body下面的所有span節點,結果如圖。

查找全局的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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章