Scrapy CrawlSpider повторить очистку

Для страницы, которую я пытаюсь очистить, я иногда получаю в своем ответе страницу-заполнитель, которая содержит некоторый JavaScript, который автоматически перезагружается, пока не получит настоящую страницу. Я могу определить, когда это происходит, и хочу повторить загрузку и очистку страницы. Логика, которую я использую в своем CrawlSpider, выглядит примерно так:

def parse_page(self, response):
    url = response.url

    # Check to make sure the page is loaded
    if 'var PageIsLoaded = false;' in response.body:
        self.logger.warning('parse_page encountered an incomplete rendering of {}'.format(url))
        yield Request(url, self.parse, dont_filter=True)
        return

    ...
    # Normal parsing logic

Однако, похоже, что когда вызывается логика повторных попыток и выдается новый запрос, страницы и содержащиеся в них ссылки не сканируются и не удаляются. Я думал, что с помощьюself.parse который CrawlSpider использует для применения правил сканирования иdont_filter=TrueЯ мог бы избежать дубликата фильтра. Однако сDUPEFILTER_DEBUG = TrueЯ вижу, что повторные запросы отфильтровываются.

Я что-то упустил или есть лучший способ справиться с этим? Я хотел бы избежать осложнений при выполнении динамического рендеринга js с использованием чего-то вроде всплеска, если это возможно, и это происходит только периодически.

Ответы на вопрос(1)

Ваш ответ на вопрос