當前位置:編程學習大全網 - 編程語言 - XPATH應該怎麽寫?

XPATH應該怎麽寫?

描述

nodename 選取此節點的所有子節點。

/ 從根節點選取。

// 從匹配選擇的當前節點選擇文檔中的節點,而不考慮它們的位置。

. 選取當前節點。

.. 選取當前節點的父節點。

@ 選取屬性。

路徑表達式

結果

bookstore 選取 bookstore 元素的所有子節點。

/bookstore 選取根元素 bookstore。註釋:假如路徑起始於正斜杠( / ),則此路徑始終代表到某元素的絕對路徑!

bookstore/book 選取屬於 bookstore 的子元素的所有 book 元素。

//book 選取所有 book 子元素,而不管它們在文檔中的位置。

bookstore//book 選擇屬於 bookstore 元素的後代的所有 book 元素,而不管它們位於 bookstore 之下的什麽位置。

//@lang 選取名為 lang 的所有屬性

舉例

1.查找頁面根元素://

2.查找頁面上所有的input元素://input

3.查找頁面上第壹個form元素內的直接子input元素(即只包括form元素的下壹級input元素,使用絕對路徑表示, 單/號)://form[1]/input

4.查找頁面上第壹個form元素內的所有子input元素(只要在form元素內的input都算,不管還嵌套了多少個其他標 簽,使用相對路徑表示,雙//號)://form[1]//input

5.查找頁面上第壹個form元素://form[1]

6.查找頁面上id為loginForm的form元素://form[@id='loginForm']

7.查找頁面上具有name屬性為username的input元素://input[@name='username']

8.查找頁面上id為loginForm的form元素下的第壹個input元素://form[@id='loginForm']/input[1]

9.查找頁面具有name屬性為contiune並且type屬性為button的input元素://input[@name='continue'][@type='button']

10.查找網頁中所有屬性為id的元素 ?/@id

2.對於節點查找的內容進行修飾

舉例

路徑表達式

結果

/bookstore/book[1] 選取屬於 bookstore 子元素的第壹個 book 元素。

/bookstore/book[last()] 選取屬於 bookstore 子元素的最後壹個 book 元素。

/bookstore/book[last()-1] 選取屬於 bookstore 子元素的倒數第二個 book 元素。

/bookstore/book[position()?] 選取最前面的兩個屬於 bookstore 元素的子元素的 book 元素。

//title[@lang] 選取所有擁有名為 lang 的屬性的 title 元素。

//title[@lang='eng'] 選取所有 title 元素,且這些元素擁有值為 eng 的 lang 屬性。

/bookstore/book[price>35.00] 選取 bookstore 元素的所有 book 元素,且其中的 price 元素的值須大於 35.00。

/bookstore/book[price>35.00]/title 選取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值須大於 35.00。

3.選取未知節點

通配符

描述

* 匹配任何元素節點。

@* 匹配任何屬性節點。

node() 匹配任何類型的節點。

舉例

路徑表達式

結果

/bookstore/* 選取 bookstore 元素的所有子元素。

//* 選取文檔中的所有元素。

//title[@*] 選取所有帶有屬性的 title 元素。

4.選取若幹路徑

通過在路徑表達式中使用“|”運算符,您可以選取若幹個路徑。

路徑表達式

結果

//book/title | //book/price 選取 book 元素的所有 title 和 price 元素。

//title | //price 選取文檔中的所有 title 和 price 元素。

/bookstore/book/title | //price 選取屬於 bookstore 元素的 book 元素的所有 title 元素,以及文檔中所有的 price 元素。

5.關鍵字

用例

舉例

text() book/author/text()

string() book/author/string()

data() book/author/data()

. book/author/.

舉例

XML例子

<book> <author>Tom <em>John</em> cat</author> <pricing> <price>20</price> <discount>0.8</discount> </pricing> </book>

text()

經常在XPath表達式的最後看到text(),它僅僅返回所指元素的文本內容。

爬取的xpath格式為book/author/text() 爬取下來的內容是Tom cat 其中的John不屬於author直接的節點內容。

string()

string()函數會得到所指元素的所有節點文本內容,這些文本講會被拼接成壹個字符串。

爬取的xpath格式為book/author/string() 爬取下來的內容是Tom John cat author頭到尾部中間所有的內容都爬出來

data()

大多數時候,data()函數和string()函數通用,而且不建議經常使用data()函數,有數據表明,該函數會影響XPath的性能。

爬取的xpath格式為book/pricing/data() 爬取下來的內容是返回分開的20和0.8 他們的類型並不是字符串而是xs:anyAtomicType,於是就可以使用數學函數做壹定操作。

爬取內容都為數字的時候只能使用data(),不能使用text()或 string(),因為XPath不支持字符串做數學運算。

作者:小小鹹魚YwY

出處:blogs.com/pythonywy/p/11082153.html

關於作者:再長的路,壹步步也能走完,再短的路,不邁開雙腳也無法到達

本作品采用署名-非商業性使用-禁止演繹 4.0 國際?進行許可,轉載請標明作者與出處

分類:?爬蟲好文要頂?關註我?收藏該文?小小鹹魚YwY

關註 - 4

粉絲 - 302+加關註00?上壹篇:?描述符\get/set/delete,init/new/call,元類

下壹篇:?網絡框架,互聯網的組成,OSI七層協議,抽象層posted @?2019-06-25 12:28?小小鹹魚YwY? 閱讀(1584)? 評論(3)?編輯?收藏

評論列表?#1樓?2019-06-25 13:26?驚天二謝謝支持(0)?反對(0)?#2樓?2019-06-25 13:36?驚天二謝謝了支持(0)?反對(0)?#3樓?[樓主]?2019-06-25 14:07?小小鹹魚YwY@?驚天二

不客氣支持(0)?反對(0)刷新評論刷新頁面返回頂部註冊用戶登錄後才能發表評論,請?登錄?或?註冊,?訪問?網站首頁。推薦了解妳才能更懂妳,博客園首發問卷調查,助力社區新升級

推薦超50萬行VC++源碼: 大型組態工控、電力仿真CAD與GIS源碼庫

推薦開放下載!《OSS運維基礎實戰手冊》

個人信息

構建程序的過程本質上是對規範調試的過程--------------------------------------------點擊查看博主生活照--------------------------------------------夜間模式:關閉--------------------------------------------QQ :?568972484

微信:?YwYbetheone

個人博客:?Mr.Yang's Blog

個人音樂網站:?愛琴音樂

電臺:?每天兩分鐘精通python爬蟲昵稱:?小小鹹魚YwY

園齡:?1年2個月

粉絲:?302

關註:?4+加關註

<2020年7月>

28 29 30 1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29 30 31 1

2 3 4 5 6 7 8

我的標簽

drf框架(15)

Vue-CLI(13)

電商相關爬取(6)

BBS(6)

hook框架frida(5)

tornado(4)

appium(3)

Java(3)

Git詳細操作(3)

定時任務和異步任務(3)

更多

積分與排名

積分 - 190814

排名 - 2915

隨筆分類?(572)

django(61)

Flask(16)

github(9)

GO(17)

jupyter notebook(1)

linux(20)

python學習日記(116)

shell(1)

Typora(2)

vs(1)

vs自學日記(7)

Vue(26)

並發編程(8)

博客園(10)

個人博客搭建(6)

力扣題庫(22)

爬蟲(127)

前端(50)

數據庫(22)

微信小程序(11)

小程序(22)

異常(17)

隨筆檔案?(494)

2020年7月(8)

2020年6月(14)

2020年5月(4)

2020年4月(9)

2020年3月(10)

2020年2月(5)

2020年1月(10)

2019年12月(13)

2019年11月(49)

2019年10月(78)

2019年9月(76)

2019年8月(74)

2019年7月(48)

2019年6月(41)

2019年5月(48)

2019年4月(7)

最新評論

1. Re:博客園美化小火箭

謝謝

--PeterWilliam

2. Re:前端實現文件下載所有方式

炫酷啊。。。。。。。。。。。。。。。。。。。。。。。。。。。。

--xiaobaotao

3. Re:drf框架中jwt認證,以及自定義jwt認證

@嗨,阿良 看過視頻...

--小小鹹魚YwY

4. Re:drf框架中jwt認證,以及自定義jwt認證

看老哥的博客也應該是老男孩兒的師兄了,文章寫的是真詳細

--嗨,阿良

5. Re:爬蟲整理

@xiaozailong...

--小小鹹魚YwY

6. Re:爬蟲整理

大佬,求極驗驗證碼的的破解方法,自己研究了壹段時間,滑塊總是跑偏,求解

--xiaozailong

7. Re:python日記整理

@十七Index 謝謝...

--小小鹹魚YwY

8. Re:python日記整理

強啊

--十七Index

9. Re:GO語言介紹以及開發環境配置

學習了,關註妳

--十七Index

10. Re:python爬蟲網頁解析之parsel模塊

@我叫劉小花 什麽密碼...

--小小鹹魚YwY

閱讀排行榜

1. python爬蟲(爬取圖片)(16036)

2. python爬蟲(爬取視頻)(13072)

3. python-爬蟲學習整理目錄(4164)

4. django根據已有數據庫表生成model類(3446)

5. python日記整理(3222)

6. python爬蟲網頁解析之parsel模塊(3084)

7. js中scroll滾動相關(2906)

8. pandas模塊(很詳細歸類),pd.concat(後續補充)(2884)

9. Scrapy中response屬性以及內容提取(2799)

10. Python3安裝與使用urllib2包之小坑(1933)

Copyright ? 2020 小小鹹魚YwY

Powered by .NET Core on Kubernetes

  • 上一篇:河南省中小學繼續教育管理系統登陸入口
  • 下一篇:CAD軟件有哪些啊
  • copyright 2024編程學習大全網