Python 爬蟲知識點 - XPath


http://cuiqingcai.com/2621.html

 

一、基礎介紹

<bookstore>
  <book>
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
</bookstore>

bookstore : 選取 bookstore 元素的所有子節點。
/bookstore  :  選取根元素 bookstore。注釋:假如路徑起始於正斜杠( / ),則此路徑始終代表到某元素的絕對路徑!
bookstore/book  :  選取屬於 bookstore 的子元素的所有 book 元素。
//book  :  選取所有 book 子元素,而不管它們在文檔中的位置。
bookstore//book  : 選擇屬於 bookstore 元素的后代的所有 book 元素,而不管它們位於 bookstore 之下的什么位置。
//@lang  :  選取名為 lang 的所有屬性。

 

/bookstore/book[1]  : 選取屬於 bookstore 子元素的第一個 book 元素。
/bookstore/book[last()]  : 選取屬於 bookstore 子元素的最后一個 book 元素。
/bookstore/book[last()-1]  :  選取屬於 bookstore 子元素的倒數第二個 book 元素。
/bookstore/book[position()<3]  :  選取最前面的兩個屬於 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。

 

二、使用場景

 http://category.dangdang.com/pg2-cp01.54.06.00.00.00.html

定位鏈接和標題 

response.xpath("//a[@class="pic"]/@href").extract()

response.xpath("//a[@class="pic"]/@title").extract()

定位評論

response.xpath("//a[@name="P_pl"]/text()").extract()

 


免責聲明!

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



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