scrapy中xpath使用extract()的时候[0]位置分析
xpath解析使用extract()的时候,一共有5种情况,刚开始做xpath的时候可能不懂,我在这里就全部解析一下。
1 | item['link']=sel.xpath('./h2/a/@href') |
1 | item['link']=sel.xpath('./h2/a/@href').extract() |
1 | item['link']=sel.xpath('./h2/a/@href').extract()[0] |
1 | item['link']=sel.xpath('./h2/a/@href')[0].extract() |
1 | item['link']=sel.xpath('./h2/a/@href')[0].extract()[0] |
1、返回一个SelectorList 对象
SelectorList 类是内建 list 类的子类,提供了一些额外的方法。
xpath(query)
css(query)
extract()
re()
__nonzero__()
2、返回一个list
就是系统自带的那个里面是一些你提取的内容。
3、返回2中list的第一个元素
如果list为空抛出异常,使用这个一定要判断下list,以免报错。
4、返回1中SelectorList里的第一个元素
如果list为空抛出异常,和3达成的效果一致。
5、返回的是一个str
如果Python2为unicode应该, 所以5会返回str的第一个字符。
python中文字符编码ot in range(128)问题的解决办法 python中出现IndentationError: unexpected indent的解决办法