scrapy xpath 定位節點獲取數據


一、Xpath路徑
/ 絕對路徑
// 相對路徑

#查找html下的body下的form下的所有input節點 /html/body/form/input
#查找所有input節點 //input

#查找form節點下的所有節點
//form/*
#查找所有節點
//* #查找所有input節點(input至少有爺爺輩親戚節點) //*/input

二、使用索引

如果篩選時元素時出現多個節點,但我們想確定唯一節點。可以使用類似於列表索引的方式精確定位。

#定位 第8個td下的 第2個a節點 //*/td[7]/a[1] #定位 第8個td下的 第3個span節點 //*/td[7]/span[2] #定位 最后一個td下的 最后一個a節點 //*/td[last()]/a[last()]

三、使用屬性

為了讓定位更精准,跟使用索引類似,我們要增加信息量,那么還可以使用屬性。@符號是屬性符

#定位所有包含name屬性的input節點 //input[@name] #定位含有屬性的所有的input節點 //input[@*] #定位所有value=2的input節點 //input[@value='2'] #使用多個屬性定位 //input[@value='2'][@id='3'] 或者//input[@value='2' and @id='3']

四、常用函數

除了索引、屬性外,Xpath還可以使用便捷的函數來增強定位的准確性。下面試常用的幾個函數:

<a class="menu_hot" href="/ads/auth/promote.html">應用推廣</a> 
#定位href屬性中包含“promote.html”的所有a節點 //a[contains(@href,'promote.html')] #元素內的文本為“應用推廣”的所有a節點 //a[text()='應用推廣'] #href屬性值是以“/ads”開頭的所有a節點 //a[starts-with(@href,'/ads')]
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM