Как я могу запретить очистку определенных частей веб-сайта с помощью правил в Scrapy.
Я хочу, чтобы Scrapy сканировал ссылки, соответствующие www.example.com/help/nl/, и запрещал все ссылки, соответствующие www.example.com/help/en/ и www.example.com/website/.
У меня есть следующий код:
class MySpider(CrawlSpider):
name = 'myspider'
allowed_domains = ['example.com', ]
start_urls = ['https://www.example.com/help/nl/', ]
rules = (
Rule(SgmlLinkExtractor(allow=(r'/help/nl/',)), callback='parse_response'),
)
Но он сканирует весь сайт.
ОБНОВЛЕНИЕ
Я хочу, чтобы Scrapy переходил ТОЛЬКО по ссылкам, содержащим /help/nl/
Rule(SgmlLinkExtractor(allow=(r'/help/nl/',), deny=(other than /help/nl/), callback='parse_response')
downloader/response_countпри запуске сканера (оно будет показано в конце журнала) и не могли бы вы отредактировать вопрос, чтобы показать некоторые из просканированных страниц, которые вы хотели бы исключить? Я просто запустил код с вашим правилом и правилом Ахтера, и просканировано одинаковое количество страниц, и все они были вида ./help/nl/. - person Talvalin   schedule 18.03.2013