а я не очень понимаю к чему там init и вызов еще конструктора? супера и все эти переопределения, но это не от того, что код какой-то не такой, я просто не знаю)
и вот смотри у тебя тут нет коллбека, а когда нет коллбека что делается, типа parse по-умолчанию вызывается? extractor = LinkExtractor(deny_domains=self.allowed_domains)
и вот смотри у тебя тут нет коллбека, а когда нет коллбека что делается, типа parse по-умолчанию вызывается? extractor = LinkExtractor(deny_domains=self.allowed_domains)