xpath语法解析
定义:xpath即为xml路径语言,它是一种用来确定xml文档中某部分位置的语言,同样适用于HTML文档的检索
xpath选取节点
1、//:从所有节点中查找(包括子节点和后代节点)
2、@:获取属性值
使用场景1(属性值作为条件)://div[@class="movie-item-info"]
使用场景2(直接获取属性值)://div[@class="movie-item-info"]/a/img/@src
3、匹配多路径
xpath表达式1|xpath表达式2|xpath表达式3
例子://li|//ul
contains():匹配属性值中包含某些字符串节点
例子:查找id属性值中包含字符串“car_”中的li节点
//li[contains(@id,"car_")]
text():获取节点的文本内容
例子:查找所有汽车的文本内容
//ul[@class="car"]/p/text()
注意:
1、只要涉及到条件,加[]:如://li[@class="xxx"] //li[2]
2、只要获取属性值,加@:如//li[class="xxx"] //li/@href
例子:利用xpath提取猫眼电影top100
写出匹配猫眼电影top100电影名称、主演、上映时间、电影链接
html代码:
<div class="movie-item-info">
<p class="name"><a href="/films/1444523" title="穿过寒冬拥抱你" data-act="boarditem-click" data-val="{movieId:1444523}" class="">穿过寒冬拥抱你</a></p>
<p class="star">
主演:黄渤,贾玲,朱一龙
</p>
<p class="releasetime">上映时间:2021-12-31</p> </div>
#电影名称xpath
//div[@class="movie-item-info"]/p[1]/a/text()
#电影主演
//div[@class="movie-item-info"]/p[2]/text()
#上映时间
//div[@class="movie-item-info"]/p[3]/text()
#电影链接
//div[@class="movie-item-info"]/p[1]/a/@href
总结:
使用xpath表达式匹配的结果为两种情况:字符串和节点对象
1、xpath表达式的末尾为:/text() 、/@href 得到的列表为字符串
2、其余剩下所以情况得到的列表中均为节点对象