Herança múltipla em aranhas arranhadas

É possível criar uma aranha que herda a funcionalidade de duas aranhas base, a saber SitemapSpider e CrawlSpider?

Eu tenho tentado raspar dados de vários sites e percebi que nem todos os sites têm uma lista de todas as páginas do site, portanto, é necessário usar o CrawlSpider. Mas o CrawlSpider passa por muitas páginas indesejadas e é meio que um exagero.

O que eu gostaria de fazer é algo como isto:

Inicie meu Spider, que é uma subclasse de SitemapSpider, e passe respostas correspondentes a regex para os parse_products para extrair informações úteis.

Vá para os links correspondentes ao regex: / reviews / na página de produtos e envie os dados para a função parse_review.
Nota: As páginas do tipo "/ reviews /" não estão listadas no mapa do site

Extrair informações de / comentários / página

CrawlSpider é basicamente para rastreamentos recursivos e raspagem

-------DETALHES ADICIONAIS-------

O site em questão é www.flipkart.com O site possui listagens para muitos produtos, com cada página tendo sua própria página de detalhes. Juntamente com a página de detalhes, é uma página de "revisão" correspondente ao produto. O link para a página de revisão também está disponível na página de detalhes do produto.

Nota: As páginas de revisão não estão listadas no mapa do site.

class WebCrawler(SitemapSpider, CrawlSpider):
    name = "flipkart"
    allowed_domains = ['flipkart.com']
    sitemap_urls = ['http://www.flipkart.com/robots.txt']
    sitemap_rules = [(regex('/(.*?)/p/(.*?)'), 'parse_product')]
    start_urls = ['http://www.flipkart.com/']
    rules = [Rule(LinkExtractor(allow=['/(.*?)/product-reviews/(.*?)']), 'parse_reviews'),
             Rule(LinkExtractor(restrict_xpaths='//div[@class="fk-navigation fk-text-center tmargin10"]'), follow=True)]

    def parse_product(self, response):
        loader = FlipkartItemLoader(response=response)
        loader.add_value('pid', 'value of pid')
        loader.add_xpath('name', 'xpath to name')
        yield loader.load_item()

    def parse_reviews(self, response):
        loader = ReviewItemLoader(response=response)
        loader.add_value('pid','value of pid')
        loader.add_xpath('review_title', 'xpath to review title')
        loader.add_xpath('review_text', 'xpath to review text')
        yield loader.load_item()

questionAnswers(1)

yourAnswerToTheQuestion