Множественное наследование у скрап-пауков

Можно ли создать паука, который наследует функциональность от двух базовых пауков, а именно SitemapSpider и CrawlSpider?

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

Я хотел бы сделать что-то вроде этого:

Запустите мой Spider, который является подклассом SitemapSpider, и передайте регулярные выражения в parse_products для получения полезной информации.

Перейдите по ссылкам, соответствующим регулярному выражению: / reviews /, со страницы продуктов и отправьте данные в функцию parse_review.
Замечания: Страницы типа "/ reviews /" не указаны в карте сайта

Извлечь информацию из / обзоры / страницы

CrawlSpider в основном для рекурсивного сканирования и очистки

-------ДОПОЛНИТЕЛЬНЫЕ ДЕТАЛИ-------

Рассматриваемый сайт - www.flipkart.com На сайте есть списки для многих продуктов, каждая страница имеет свою страницу с подробностями. Наряду со страницей сведений, они являются соответствующей «обзорной» страницей продукта. Ссылка на страницу обзора также доступна на странице сведений о продукте.

Примечание. Страницы обзора не указаны в карте сайта.

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

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

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