相信很多小夥伴已經聽說過Xpath,之前小編也寫過一篇關於Xpath的文章,感興趣的小夥伴可以戳這篇文章如何利用Xpath抓取京東網商品信息以及Python網絡爬蟲四大選擇器(正則表達式、BS4、Xpath、CSS)總結。今天小編繼續給大家介紹一些Xpath知識點,希望對大家的學習有幫助。
1、Xpath讓我們可以使用一種類似於Windows下的文件路徑的方式,讓我們可以定位到HTML或者XML結構中的具體元素。Xpath本身包含標一些準函數庫,可以讓我們的Xpath語法更加強大。
2、在HTML結構中,有一定的層級關係,主要的關係包括:父節點、子節點、同胞節點(兄弟節點)、先輩節點、後代節點。
一般的,像類似於這種結構,稱之爲一個節點。如上圖,根據層次關係,我們可以知道節點是的父節點,相應的,節點是節點的子節點。同胞節點又叫兄弟節點,一般的處於同級層次的節點叫同胞節點,如上圖中的節點和第一個
3、理解這些節點之間的關係之後,可以方便我們更好的理解Xpath語法,下表是部分常用的Xpath語法。
這裏特別強調“/”和“//”的區別,“/”一般代表的某個元素的子節點,而不是全部的後代節點;而“//”一般代表的某個元素的後代節點,範圍比“/”代表的要更加廣泛一些。@符號後邊時常跟着class,代表選取名爲class屬性的節點,比較常見。
4、下面針對具體的網頁源碼,讓大家瞭解一下網頁結構。
如上圖中的紅色框框中,class爲屬性,而等於號後邊的“grid-5”即爲屬性值,有的時候節點內不只是一個屬性,如上圖中的196行中,就有兩個屬性。
5、爲了更加方便的定位到div或者其他節點下的標籤,我們需要繼續進一步的進行定位鎖定,下表是部分常用的Xpath語法。
掌握了Xpath語法知識之後,我們就可以通過Xpath語法來進行編寫Xpath表達式,以提取網頁上的目標數據。
千里之行,始於足下。如果想學好Xpath,更是需要勤加使用,下一篇文章將給大家介紹Xpath在Scrapy爬蟲項目中的使用。