diff --git a/scrapy/spiderloader.py b/scrapy/spiderloader.py index a88db27c82ce70794852972c139d8c477b7ecc78..fbf68cec4d47ca376f00d58e1a3fccd0cae3c548 100644 --- a/scrapy/spiderloader.py +++ b/scrapy/spiderloader.py @@ -17,14 +17,17 @@ class SpiderLoader(object): def __init__(self, settings): self.spider_modules = settings.getlist('SPIDER_MODULES') self._spiders = {} - for name in self.spider_modules: - for module in walk_modules(name): - self._load_spiders(module) - + self._load_all_spiders() + def _load_spiders(self, module): for spcls in iter_spider_classes(module): self._spiders[spcls.name] = spcls + def _load_all_spiders(self): + for name in self.spider_modules: + for module in walk_modules(name): + self._load_spiders(module) + @classmethod def from_settings(cls, settings): return cls(settings)