明凯博客

关注网站技术,一个特立独行的程序员

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的第一个字符。

, ,

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注