Python 網絡爬蟲 之 Xpath 基本語法 和 使用方法以及 安裝Xpath

一、概念:

Xpath 是什麼?

Xpath 是 XML Path Language 的簡寫,他是一門在 XML 和 HTML 文檔中查找信息的語言,可以用來在 XML 和 HTML 文檔中對元素和屬性進行遍歷。

二、Xpath的安裝:谷歌瀏覽器,直接在百度上搜 xpath-helper(谷歌瀏覽器插件)就可以了,然後將下載完的文件使用瀏覽器打開安裝完之後再重新打開瀏覽器就可以看到右上角有個大大的 × 號,然後就可以了

======== 如果需要我的原文word手寫文檔,請關注後私密我或直接留言 =========

三、直接子節點概念: 就是緊挨著它的下一行的元素,例如下面的:head 就是 html 的直接子節點

# 子節點

四、子孫節點概念:就是包含和它隔行的元素,而子孫節點就是 html 下面的 head 和 div 元素

# 子節點

# 孫節點

五、html 中的屬性概念:下面這段代碼中的 id 就叫屬性

六、 / 和 // 的區別: / 代表只獲取直接子節點; // 代表獲取子孫節點,一般 // 用的多

七、Xpath語法:分為四個部分

1、選取節點 :就是用什麼樣的方法去選取節點

表達式 作用 用法 用法說明

(1) nodename 節點名 //div 這個div就是nodename,節點名

----------------------------------------------------------------------------------------

(2) / 有兩個作用:如果在最前面代表 /html 只在整個HTML文檔中查找根節

只在根節點查找。否則代表直接子元素 點下的 html 元素

----------------------------------------------------------------------------------------

(3) // 從全局節點中選擇節點,隨便在哪個位置 //div 在整個HTML文檔查找所有的div元素

----------------------------------------------------------------------------------------

(4) @ 選取某個節點的屬性 //div[@id] 選擇所有擁有id屬性的div元素

----------------------------------------------------------------------------------------

Python 網絡爬蟲 之 Xpath 基本語法 和 使用方法以及 安裝Xpath

如果出現格式問題,請移步到PC端觀看

2、謂語(wei zi) :通過謂語可以在查找節點的同時添加篩選條件,就是中括號中的東西

用法:

(1) 只獲取body下的 "第1個" div 元素 -- //body/div[1]

(2) 獲取body下的 "最後一個" div元素 -- //body/div[last()]

(3) 只獲取 "前兩個" div元素 -- //body/div[position()<3]

(4) 只獲取擁有class="s_position_list"屬性的div元素 -- //div[@class="s_position_list"]

(5) contains 模糊匹配方法:當一個元素有多個屬性時使用,例如:一個div元素同時有class

和fl屬性 //div[contains(@class, "fl")]

3、通配符 :就是 * ,代表的是任意字符,任意節點,任意屬性等

用法:

(1) * 意思是匹配任意字符 : 要求:獲取body下的所有元素 -- 語法://body/*

(2) @* 意思是獲取所有屬性 : 要求:只要擁有屬性的div都提取出來 -- 語法://div[@*]

4、選取多個路徑:通過 | 運算符,可以同時選取若干個路徑

要求1:獲取 屬性為 class="job_bt" 或 class="job_adv" 的 div 元素

語法: //dd[@class="job_bt"] | //dd[@class="job_adv"]

要求2:獲取 class="job_detail" 並且 id="job_detail" 屬性的 dl 元素

語法://dl[@class="job_detail" and @id="job_detail"]

Python 網絡爬蟲 之 Xpath 基本語法 和 使用方法以及 安裝Xpath

【純個人手打,替老師傳道,不求多大成就但願 能幫到大家,在閒暇的時間裡為大家共享一些工作經驗和各種技術資源文章,希望幫助大家共同進步 也希望我的發佈對你有所幫助,我的發佈裡有更多類似的文章可以查閱,喜歡的請點關注,謝謝。你們的關注是我不停發佈的最大動力在我發佈裡好多類似這樣的文章,請盡情閱覽】


分享到:


相關文章: