網絡爬蟲(六)

xpath解析原理
  • 實例化etree對象,將頁面源碼傳給該對象。
  • 用生成的etree對象,調用xpath方法和xpath表達式進行定位、獲取數據。
環境安裝

pip install lxml

基本用法

from lxml import etree

  • 將本地文本傳給etree對象:etree.parse(filepath)
  • 將頁面源碼傳給etree對象:etree.parse(page-text)
  • 表達式用法:etree-obje.xpaht('xpath表達式‘),xpath表達式是解析的重點,先上代碼。
from lxml import etree
......……
tree=etree.parse('test.html')
r=tree.xpath('/html/head/title') #取得title元素對象。

xpath表達式

  1. /:爲分隔符,意義是第一個“/”爲根節點,其他的“/”表示一個層級。
  2. //:表示多個層級,如tree.xpath('//titlt'),tree.xpath('/html//title').
  3. 屬性定位:如tree.xpath('//div[@class="classname"] ')
  4. 索引定位:如tree.xpath('//div[@class="classname"] /p[3]'),注意索引是從1開始的。
  5. 取文本:/text()取直系文本。如tree.xpath('//div[@class="classname"]/text() ')
    //text()取標籤下全部文本,如tree.xpath('//div[@class="classname"]//text() ')
  6. 取屬性:/@tattrName,如tree.xpath('//div[@class="classname"]//a/@href ')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章