四、关于 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"]
这种。