文章

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 进行授权