網頁結構的簡介和Xpath語法的入門教程

相信不少小夥伴已經據說過Xpath,以前小編也寫過一篇關於Xpath的文章,感興趣的小夥伴能夠戳這篇文章如何利用Xpath抓取京東網商品信息以及Python網絡爬蟲四大選擇器(正則表達式、BS四、Xpath、CSS)總結。今天小編繼續給你們介紹一些Xpath知識點,但願對你們的學習有幫助。正則表達式

一、Xpath讓咱們可使用一種相似於Windows下的文件路徑的方式,讓咱們能夠定位到HTML或者XML結構中的具體元素。Xpath自己包含標一些準函數庫,可讓咱們的Xpath語法更增強大。網絡

二、在HTML結構中,有必定的層級關係,主要的關係包括:父節點、子節點、同胞節點(兄弟節點)、先輩節點、後代節點。app

    通常的,像相似於這種結構,稱之爲一個節點。如上圖,根據層次關係,咱們能夠知道節點是的父節點,相應的,節點是節點的子節點。同胞節點又叫兄弟節點,通常的處於同級層次的節點叫同胞節點,如上圖中的節點和第一個ide

節點、177~181行的函數

  • 標籤都是屬於同胞節點。先輩節點又叫祖先節點,通常的,一個節點的上層以上的節點均稱爲先輩節點,因此父節點也是屬於先輩節點的一種。基於此,咱們又能夠稱節點是的先輩節點。相對應的,一個節點的下層如下的節點均稱爲後代節點,因此子節點也是屬於後代節點的一種。基於此,咱們又能夠稱節點是節點的後代節點。學習


三、理解這些節點之間的關係以後,能夠方便咱們更好的理解Xpath語法,下表是部分經常使用的Xpath語法。spa

    這裏特別強調「/」和「//」的區別,「/」通常表明的某個元素的子節點,而不是所有的後代節點;而「//」通常表明的某個元素的後代節點,範圍比「/」表明的要更加普遍一些。@符號後邊時常跟着class,表明選取名爲class屬性的節點,比較常見。3d

四、下面針對具體的網頁源碼,讓你們瞭解一下網頁結構。orm

    如上圖中的紅色框框中,class爲屬性,而等於號後邊的「grid-5」即爲屬性值,有的時候節點內不僅是一個屬性,如上圖中的196行中,就有兩個屬性。get

五、爲了更加方便的定位到div或者其餘節點下的標籤,咱們須要繼續進一步的進行定位鎖定,下表是部分經常使用的Xpath語法。

    掌握了Xpath語法知識以後,咱們就能夠經過Xpath語法來進行編寫Xpath表達式,以提取網頁上的目標數據。

    千里之行,始於足下。若是想學好Xpath,更是須要勤加使用,下一篇文章將給你們介紹Xpath在Scrapy爬蟲項目中的使用。

相關文章
相關標籤/搜索