'Handle the different cases of request\'s result been a Response or a
Failure'

def _scrape2(self, request_result, request, spider):

    if (not isinstance(request_result, Failure)):
        return self.spidermw.scrape_response(self.call_spider, request_result, request, spider)
    else:
        dfd = self.call_spider(request_result, request, spider)
        return dfd.addErrback(self._log_download_errors, request_result, request, spider)
