xpath
1、实例化etree对象
1
2
3
4
5
#如果是本地的html页面直接调用etree方法
from lxml import etree
etree.parse(filepath)#文件路径
#如果是网页的html页面
etree.HTML('page_text')
2、xpath表达式
/:表示从根节点开始
/html/body/div
//:表示多个层级
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#做属性定位, 例:
//div[@class='song']#找div中class值为song
#若是想要找到其中值的第几个内容
#做索引定位,注意下表从1开始
//div[@class='song'/p[3]]
#找div中class值为song中p的第三个
#如果想拿到文本文件
//div[@class='song'/p[3]/text()]#前面返回的是一个列表,
//div[@class='song'/p[3]/text()][0]#前面返回的是一个列表,所以用[0]去拿出来
/text是直系下的文本
//text是获得所有的文本
#想拿到属性
//div[@class='song'/img/@src]#直接拿到属性
本文由作者按照 CC BY 4.0 进行授权