Xpath中关于//后[1]的索引问题详解

Xpath中关于//的索引问题

在使用Xpath进行网络爬虫时,一直看到资料上写response.xpath('//a[@class="xxx"][1]'/@href)这样的形式,经过测试发现在这里插入图片描述
不加[1]与加了[1]的结果是一模一样的。

WTF??

经过网上查阅其他资料后发现,原来[1]与不加[1]是有本质区别的,这个[1]代表你要找到 A 在家中排行老二. 而不是所有家庭合起来的第二个。

例如:
在这里插入图片描述
我自己找了之前写html的网页代码,在上下两部分option之间各加了一个span标签,此时再通过xpath来测试。

我们先尝试//option的写法

在这里插入图片描述
这个很符合预期,没什么好说的。

再来尝试一下//option[1]//option[2]

在这里插入图片描述
在这里插入图片描述
此时我们可以发现,被span标签括起来的option标签相当于一个家庭,[1]与[2]实质上是在所有option家庭中找出长子和次子,而不是找到所有option标签的第1个和第2个。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值