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表达式
- /:为分隔符,意义是第一个“/”为根节点,其他的“/”表示一个层级。
- //:表示多个层级,如tree.xpath('//titlt'),tree.xpath('/html//title').
- 属性定位:如tree.xpath('//div[@class="classname"] ')
- 索引定位:如tree.xpath('//div[@class="classname"] /p[3]'),注意索引是从1开始的。
- 取文本:/text()取直系文本。如tree.xpath('//div[@class="classname"]/text() ')
//text()取标签下全部文本,如tree.xpath('//div[@class="classname"]//text() ') -
取属性:/@tattrName,如tree.xpath('//div[@class="classname"]//a/@href ')
晴朗
网友评论