Чтобы ответить на ваш вопрос, да. Scrapy "ползают" пауки работают, устанавливая правила, которые могут быть установлены, чтобы делать именно то, что вы пытаетесь. В случае сомнений всегда идите в документы!
Пара вещей на заметку:
Вы можете создать паука для сканирования таким же образом при создании универсального паука!
scrapy genspider -t crawl nameOfSpider website.com
В случае с пауком-обходчиком вы должны установить правила, которые, в основном, сообщают скрапу, куда и куда не ходить; как твое регулярное выражение?!
class MySpider(CrawlSpider):
name = 'example.com'
allowed_domains = ['example.com'] # PART 1: Domain Restriction
start_urls = ['http://www.example.com']
rules = (
Rule(LinkExtractor(allow=('.*')), callback='parse_item'), # PART 2: Call Back
)
Теперь я скопировал и вставил это из Официальных документов и изменил то, как это должно выглядеть для вас, но я не проверил код, так что да ... хотя логика есть ...
Он работает, получая ВСЕ ссылку, которую он может видеть в зависимости от установленных вами правил, что-то делает с указанной ссылкой.
Вы хотите ограничить все остальные домены, кроме одного, который вы просматриваете
В этом примере я установил подстановочный знак, чтобы буквально принимать каждую и любую страницу в домене ... Как только вы выясните структуру сайта, вы можете использовать логику для создания того, что вам нужно.
Хотя вы должны чаще смотреть на документы. Я использую терапию около 6-7 лет, и я все еще возвращаюсь к страницам руководства!