scrapy selector选择器
result = response.selector.xpath(’//a’)
result.xpath(’./img’) 查找 a 里面的 img 标签
值得注意的是,选择器的最前方加 .(点),这代表提取元素内部的数据,如果没有加点,则代表从根节点开始提取。此处我们用了./img 的提取方式,则代表从 a 节点里进行提取。如果此处我们用 //img,则还是从 html 节点里进行提取。
index out of range 要么越界溢出 要么列表为空
response.xpath() 就相当于 response.selector.xpath()
response.xpath(’//a[@href=“one.html”]/text()’).extract() 返回的屙屎列表
response.xpath(’//a[@href=“one.html”]/text()’).extract()[0] 返回的就是字符串 但这样写可能造成数组越界 因为
extract() 返回的列表可能为空 空列表[0] 会报错 index out of range
所以写成 response.xpath(’//a[@href=“one.html”]/text()’).extract_first() 这个返回的也是字符串
13.3 selector的用法 详解了xpath css 和正则表达式的用法
https://github.com/Python3WebSpider/Python3WebSpider/blob/master/13.3-Selector%E7%9A%84%E7%94%A8%E6%B3%95.md