Scrapy: Невозможно получить информацию о URL-адресах, число попыток которых достигло максимума. - PullRequest
0 голосов
/ 26 июня 2019

Я получаю много 503 с сайта, который я удаляю с помощью Scrapy, и я не могу заставить его записать список всех сбоев.

Я включил модуль Retry с помощью RETRY_ENABLED= True и установите RETRY_TIMES = 2 для целей тестирования.

Я добавил метод класса from_crawler и зарегистрировал два обратных вызова, но ни один не вызывается.

@classmethod
def from_crawler(cls, crawler, *args, **kwargs):
    spider = super(MySpider, cls).from_crawler(crawler, *args, **kwargs)
    crawler.signals.connect(spider.item_error, signal=signals.item_error)
    crawler.signals.connect(spider.item_dropped, signal=signals.item_dropped)

    return spider

def item_error(self, item, response, spider, failure):
        self.log("************************ ERROR ********", logging.ERROR)
        self.log(item, logging.ERROR)

def item_dropped(self, item, response, exception, spider):
        self.log("*********************** DROPPED *********", logging.ERROR)
        self.log(item, logging.ERROR)

Обратные вызовы не вызываются, когдаСбой URL с исключением или без

1 Ответ

0 голосов
/ 05 июля 2019

Чтобы обработать ответ об ошибке, используйте параметр errback конструктора Request .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...