使用xpath前的準備
HTML
HTML稱爲超文本標記語言,是一種標識性的語言。它包括一系列標籤.通過這些標籤可以將網絡上的文檔格式統一,使分散的Internet資源連接爲一個邏輯整體。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字,圖形、動畫、表格、鏈接等。
超文本是一種組織信息的方式,它通過超級鏈接方法將文本中的文字、圖表與其他信息媒體相關聯。這些相互關聯的信息媒體可能在同一文本中,也可能是其他文件,或是地理位置相距遙遠的某臺計算機上的文件。這種組織信息方式將分佈在不同位置的信息資源用隨機方式進行連接,爲人們查找,檢索信息提供方便。
HTML結構簡單介紹
- 標籤
用英文尖括號括起來的就是標籤,如< p >…< /p >,這是一對p標籤,後面一個加了’/'的標籤代表結束,前面的就是開始標籤,一段HTML代碼中有很多標籤,那麼這些標籤之間有什麼關係呢?
-嵌套
-並列
- 下面就是HTML源代碼的基本結構html標籤是根標籤,head和body就是並列關係。
<!DOCTYPE HTML>
<html>
<head>...</head>
<body>...</body>
</html>
- 下面是一段示例代碼
<!DOCTYPE HTML>
<html>
<head>
<title class"name">同學少年</title>
</head>
<body>
<ul>
<li class="link_1">第一頁</li>
<li class="link_2">第二頁</li>
<li class="link_3">第三頁</li>
</ul>
</body>
</html>
- ul標籤是body的子標籤,是li的父標籤,li標籤是並列的關係,也叫兄弟關係。
- class是li標籤的屬性,’第一頁‘、‘第二頁’,‘第三頁’分別是li標籤所包含的文本信息。
xpath語法簡介
簡介
HTML的標籤構成了類似於樹一樣的結構,而xpath就是這樣一種在樹形結構中,通過標籤的嵌套和並列的關係,來找到包含我們需要數據的標籤,並提取出數據的語言。
常用語法
- 以此代碼爲例
<!DOCTYPE HTML>
<html>
<head>
<title class"name">同學少年</title>
</head>
<body>
<ul>
<li class="link_1">第一頁</li>
<li class="link_2">第二頁</li>
<li class="link_3">第三頁</li>
</ul>
</body>
</html>
- 選中所有li標籤
xpath('html/body/ul/li')
- 應爲所有的li標籤都是並列關係,所以可以使用索引,如選中第一個li標籤
xpath('html/body/ul/li[1]')
- 如何直接選取所有li標籤,//可以理解爲跳躍的意思
xpath('//li')
- 通過屬性定位屬性爲class="link_2"的li標籤
xapth('//li[@class="link_2"]')
- 獲取第一個li標籤中的文本信息
xpath('//li[1]/text()')