python3爬蟲實踐(七) xpath介紹

2021-10-23 04:14:26 字數 2152 閱讀 7691

1、什麼是 xpath

2、xpath 開發工具

3、xpath 語法

表示式描述

示例結果

nodename

選取此節點的所有節點

bookstore

選取 bookstore 下所有的子節點

/如果是在最前面,代表從根節點擊取。否則選擇某節點下的某個節點

/bookstore

選取根元素下所有的 bookstore 節點

//從全域性節點中選擇節點,隨便在哪個位置

//book

從全域性節點中找到所有的 book 節點

@選取某個節點的屬性

//book[@price]

選擇所有擁有 price 屬性的 book 節點

路徑表示式

描述/bookstore/book[1]

選取 bookstore 下的第乙個book 元素

/bookstore/book[last()]

選取 bookstore 下的倒數第二個 book 元素

bookstore/book[position()< 3]

選取 bookstore 下的前面兩個 book 元素

//book[@price]

選取擁有 price 屬性的吧 book 元素

//book[@price=10]

選取所有屬性 price 等於10的 book 元素

# 下面的 job_detail 只是屬性 class 值中的乙個

//div[contains(@class

,'job_detail'

)]

萬用字元

描述示例結果*

匹配任意節點

/bookstore/*

選取 bookstore 下的所有子元素

@*匹配節點中的任何屬性

//book[@*]

選取所有帶屬性的 book 元素

# 選取 bookstore 元素下所有的 book 元素以及 book 元素下所有的 title 元素

//bookstore/book |

//book/title

運算子

描述例項

返回值|計算兩個節點集

//book|//cd

返回所有擁有 book 和 cd 元素的節點集+加法

6 + 410-

減法6 - 42*

乘法6 * 4

24div

除法8 div 42=

等於price = 9.80

如果 price 等於9.80,則返回 true,如果 price 是9.90,則返回 false

!=不等於

price != 9.80

如果 price 等於9.90,則返回 true,如果 price 是9.80,則返回 false

<

小於price < 9.80

如果 price 等於9.00,則返回 true,如果 price 是9.90,則返回 false

<=

小於等於

price <= 9.80

如果 price 等於9.00,則返回 true,如果 price 是9.90,則返回 false

>

大於price > 9.80

如果 price 等於9.90,則返回 true,如果 price 是9.80,則返回 false

>=

大於等於

price >= 9.80

如果 price 等於9.90,則返回 true,如果 price 是9.00,則返回 falseor或

price = 9.80 or price = 9.70

如果 price 等於9.80,則返回 true,如果 price 是9.00,則返回 false

and與

price > 9.00 and price < 9.70

如果 price 等於9.60,則返回 true,如果 price 是9.80,則返回 false

mod計算除法的餘數

5 mod 2

python3爬蟲實踐(二) 爬蟲前奏

1.1 什麼是網路爬蟲 1.2 通用爬蟲和聚焦爬蟲 2.1 什麼是 http 和 https 協議 2.2 在瀏覽器中傳送乙個 http 請求的過程 2.3 url 詳解 scheme host port path query string anchor2.4 常用請求方法 get 請求 一般情況下...

python3爬蟲實踐(八) lxml 庫

1 基本使用 from lxml import etree text 標題的效果 四級標題的效果 利用 etree.html 將字串解析為 html 檔案 html etree.html text 將字串序列化為 html 文件 2 從檔案中讀取 html from lxml import etre...

python3 切片 七 python3 切片

切片 取乙個 list 或 tuple 的部分元素是非常常見的操作 l michael sarah tracy bob jack 笨辦法 之所以是笨辦法是因為擴充套件一下,取前 n 個元素就沒轍了。l 0 l 1 l 2 michael sarah tracy 取前 n 個元素,也就是索引為 0 n...