四、关于 nodename 的使用

有看过其他xpath文章的,一定都见过这个表格,而且基本上都是复制的,都不管里面写的什么。
这个说明不明确,还容易误导理解。
1、nodename 这个不是关键字, //div/nodename 并不是匹配div 后辈的所有节点。
nodename 指的是支点名称,比如div 、ul、li、td…
2、那么selector.xpath('div')也不是匹配div节点的所有子节点,而是匹配selector当前节点下所有 div 节点。


3、上面的例子也可以写成一句
response.xpath('//div[@class="left2"]/div[@class="box-n1 kimg"]/div')
五、取属性值。
爬虫通常提取的都是text文本,还有一个属性的值,也会需要提取。
比如图中的年份 2019

可以这样写:selector.xpath('./@data-year')
这里要注意区分之前写的[@data-year="2019"] 这种。
本文澄清了XPath中nodename的理解误区,详细解释了如何正确匹配特定节点,并提供了获取属性值的方法。适合初学者快速掌握XPath的基本用法。
58万+

被折叠的 条评论
为什么被折叠?



