Запретить последовательность URL-адресов в Scrapy CrawalSpider

#python #scrapy

Вопрос:

У меня есть маленький паук, который ползает по сайтам для социальных контактов. Я хочу, чтобы он отрицал URL-адреса, содержащие «/продукты», «/коллекции» и т. Д. Это мое правило линкэкстрактора.

 rules = (
    Rule(LinkExtractor(allow_domains=allowed_domains),
         callback='parse_page', process_links='process_links', follow=True),
)
 

Я проверил много решений, но я не могу использовать их в своем сценарии.

Ответ №1:

Это должно сработать:

 rules = (
    Rule(LinkExtractor(allow_domains=allowed_domains, deny=('/products/*','/collections/*', )),
         callback='parse_page', process_links='process_links', follow=True),
)
 

Вы можете увидеть пример в документации по скрапу