mirror of https://github.com/scrapy/scrapy.git
dont try to guess if spider output is iterable for Items and Requests objects
This commit is contained in:
parent
6e2bd49a81
commit
73e7788ba2
|
|
@ -128,7 +128,13 @@ class Scraper(object):
|
|||
|
||||
def call_spider(self, result, request, spider):
|
||||
defer_result(result).chainDeferred(request.deferred)
|
||||
return request.deferred.addCallback(arg_to_iter)
|
||||
return request.deferred.addCallback(self._iterable_spider_output)
|
||||
|
||||
def _iterable_spider_output(self, result):
|
||||
if isinstance(result, (BaseItem, Request)):
|
||||
return [result]
|
||||
else:
|
||||
return arg_to_iter(result)
|
||||
|
||||
def handle_spider_error(self, _failure, request, spider, propagated_failure=None):
|
||||
referer = request.headers.get('Referer', None)
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ class TestSpider(BaseSpider):
|
|||
m = self.price_re.search(response.body)
|
||||
if m:
|
||||
item['price'] = m.group(1)
|
||||
return [item]
|
||||
return item
|
||||
|
||||
|
||||
SPIDER = TestSpider()
|
||||
|
|
|
|||
Loading…
Reference in New Issue