47 votes

Erreur d'araignée introuvable

C'est Windows 7 avec python 2.7

J'ai un projet scrapy dans un répertoire appelé caps (c'est là que se trouve scrapy.cfg)

Mon araignée se trouve dans caps\caps\spiders\campSpider.py

J'ai intégré le projet scrapy et j'essaie de lancer

 scrapy crawl campSpider -o items.json -t json

J'obtiens une erreur indiquant que l'araignée est introuvable. Le nom de la classe est campSpider

 ...
    spider = self.crawler.spiders.create(spname, **opts.spargs)
  File "c:\Python27\lib\site-packages\scrapy-0.14.0.2841-py2.7-win32.egg\scrapy\spidermanager.py", l
ine 43, in create
    raise KeyError("Spider not found: %s" % spider_name)
KeyError: 'Spider not found: campSpider'

Me manque-t-il un élément de configuration ?

75voto

Sjaak Trekhaak Points 1988

Assurez-vous d'avoir défini la propriété "name" de l'araignée. Exemple:

 class campSpider(BaseSpider):
   name = 'campSpider'

Sans la propriété name, le gestionnaire de scrapy ne pourra pas trouver votre araignée.

29voto

tamalet Points 91

Assurez-vous également que votre projet ne s'appelle pas scrapy ! J'ai fait cette erreur et le renommer a résolu le problème.

11voto

Aminah Nuraini Points 5943

Essayez d'exécuter scrapy list sur la ligne de commande. S'il y a une erreur sur l'araignée, elle la détectera.

Dans mon cas, j'ai carrément copié le code d'un autre projet et oublié de changer le nom du projet à partir de l'importation du module spider

9voto

warvariuc Points 11787

Avez-vous configuré le paramètre SPIDER_MODULES ?

SPIDER_MODULES

Par défaut : []

Une liste de modules où Scrapy recherchera des araignées.

Exemple:

SPIDER_MODULES = ['mybot.spiders_prod', 'mybot.spiders_dev']

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X