1.extract()方法:
def parse(self, response):
sel = Selector(response)
hrefs = sel.xpath(r'//*[@class="c1 ico2"]/li/a/@href')
print(hrefs.extract())
结果如下:
['/4253340.html', '/6135617.html', '/5786549.html', '/7824216.html', '/2122896.html', '/1822233.html']
结论:说明了extract()方法返回的是符合要求的所有的数据,存在一个列表里。
2.extract_first()方法:
def parse(self, response):
sel = Selector(response)
hrefs = sel.xpath(r'//*[@class="c1 ico2"]/li/a/@href')
print(hrefs.extract_first())
结果如下:
'/4253340.html'
结论:说明了extract_first()方法返回的hrefs 列表里的第一个数据。
3.get()方法:
def parse(self, response):
sel = Selector(response)
hrefs = sel.xpath(r'//*[@class="c1 ico2"]/li/a/@href')
print(hrefs.get())
结果如下:
'/4253340.html'
结论:说明get()方法和extract_first()方法返回的是一样的,都是列表里的第一个数据。
4.getall()方法:
def parse(self, response):
sel = Selector(response)
hrefs = sel.xpath(r'//*[@class="c1 ico2"]/li/a/@href')
print(hrefs.getall())
结果如下:
['/4253340.html', '/6135617.html', '/5786549.html', '/7824216.html', '/2122896.html', '/1822233.html']
结论:说明了getall()方法和extract()方法一样,返回的都是符合要求的所有的数据,存在一个列表里。
最后:
get() 、getall() 方法是新的方法,extract() 、extract_first()方法是旧的方法。
extract() 、extract_first()方法取不到就返回None。
get() 、getall() 方法取不到就raise一个错误。