Xpath 語法理解(parsel)

2021-10-04 03:14:05 字數 1712 閱讀 6123

''''

xpath 理解

在 html / xhtml 文件資訊查詢資訊

'''import parsel # pip install parsel 進行安裝

# 當前為字串型別 str

html_str =

'''

'''# 轉換資料型別 將字串 轉化為 selector 物件

data = parsel.selector(html_str)

# 加上 .getall() 方法 取出全部資料 此時返回 列表 資料結果 自動補全 html**(把缺失的html補充完整)

# 加上 .extract() 取出全部資料 返回結果類似 原字串 但也補全了 缺失的 html **

# 2.1 從根節點開始,獲取所有 a 標籤

dame1 = data.xpath(

'/html/body/div/ul/li/a'

).extract(

)# 2.2 跨節點獲取所有 a 標籤

dame2 = data.xpath(

'//a'

).extract(

)dame3 = data.xpath(

'//ul'

)dame4 = dame3.xpath(

'./li'

).extract(

)# 取出當前節點所有 li 標籤

dame5 = dame3.xpath(

'./li/a'

).extract(

)# 取出當前所有 a 標籤

# 2.4 選取當前節點的父節點 獲取父節點 class 屬性值

dame6 = data.xpath(

'//a'

)# ../ 表示當前節點下

dame7 = dame6.xpath(

'../@class'

).extract(

)# a 標籤的父標籤的 class 屬性值

# 2.5 獲取第三個 li 標籤的節點 (兩種方法)

dame8 = data.xpath(

'//li[3]'

).extract(

)# html的索引從 1 開始

dame9 = data.xpath(

'//li')[

2].extract(

)# 返回結果為列表 根據索引取值

# 2.6 通過屬性定位的方法獲取第四個 a 標籤

dame10 = data.xpath(

'//a[@href="link4.html"]'

).extract(

)# 精確定位 href 的值 來確定,提取資料

# 2.7 用屬性定位標籤 ,獲取第四個 a 標籤包裹的文字內容

dame11 = data.xpath(

'//a[@href="link4.html"]/text()'

).extract(

)# 擴充套件 2.6

# 2.8 獲取第五個 a 標籤的 href 屬性值

dame12 = data.xpath(

'//li[5]/a/@href'

).extract(

)# 因為 a 標籤 不在同一級, 所以取 上一級標籤 li 標籤 再進行資料提取

print

(dame12)

————————end

const語法理解

本篇主要寫給對const語法理解存在誤區的c 學習者,希望所有對這方面比較模糊的朋友可以閱讀並從中找到一些答案。2004 11 19 21 00 const 最早想法是用於取代預處理器 define 這個巨集,從而形成常量的概念。針對常量const物件,const指標及指向const的指標,函式co...

VC 語法理解

1 tchar char和cstring之間的轉換 tchar是mfc中對char的封裝,當字符集是unicode時是雙位元組wchar,在其他字符集下為單位元組char。widechartomultibyte 函式功能 該函式對映乙個unicode字串到乙個多位元組字串。函式原型 int wide...

ruby on rails 學習筆記1 語法理解)

陣列和 range 可以響應的方法中有很多都可以跟著乙個塊 block 1.5 each 這個 在 range 1.5 上呼叫了each方法,然後又把這個塊傳遞給each方法。i 兩邊的豎槓在 ruby 句法中是用來定義塊變數的。只有這個方法才知道如何處理後面跟著的塊。本例中,range 的each...