Herencia múltiple en arañas temblorosas

¿Es posible crear una araña que herede la funcionalidad de dos arañas base, a saber, SitemapSpider y CrawlSpider?

He estado tratando de raspar datos de varios sitios y me di cuenta de que no todos los sitios tienen una lista de todas las páginas del sitio web, por lo tanto, es necesario usar CrawlSpider. Pero CrawlSpider pasa por muchas páginas basura y es una especie de exageración.

Lo que me gustaría hacer es algo como esto:

Inicie mi Spider, que es una subclase de SitemapSpider y pase las respuestas coincidentes de expresiones regulares a parse_products para extraer un método de información útil.

Vaya a los enlaces que coincidan con la expresión regular: / reviews / desde la página de productos y envíe los datos a la función parse_review.
Nota: Las páginas de tipo "/ reviews /" no figuran en el mapa del sitio

Extraer información de / reviews / page

CrawlSpider es básicamente para rastreos recursivos y raspado

-------DETALLES ADICIONALES-------

El sitio en cuestión es www.flipkart.com. El sitio tiene listados de muchos productos, y cada página tiene su propia página de detalles. Junto con la página de detalles, hay una página de "revisión" correspondiente para el producto. El enlace a la página de revisión también está disponible en la página de detalles del producto.

Nota: las páginas de revisión no figuran en el mapa del sitio.

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()