2015-12-17 29 views
5

Ich mache Scrapy Tutorial in scrapy documentation. Dies ist mein aktuelles Verzeichnis wie folgt aussieht:Scrapy kann keine Spinne finden

. 
├── scrapy.cfg 
└── tutorial 
    ├── __init__.py 
    ├── __init__.pyc 
    ├── items.py 
    ├── pipelines.py 
    ├── settings.py 
    ├── settings.pyc 
    └── spiders 
     ├── __init__.py 
     ├── __init__.pyc 
     └── dmoz_spider 

Die dmoz_spider.py ist das gleiche wie in scrapy Tutorial-Seite beschrieben.

import scrapy 

class DmozSpider(scrapy.Spider): 
    name = "dmoz" 
    allowed_domains = ["dmoz.org"] 
    start_urls = [ 
     "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", 
     "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/" 
    ] 

    def parse(self, response): 
     filename = response.url.split("/")[-2] + '.html' 
     with open(filename, 'wb') as f: 
      f.write(response.body) 

Dann laufe ich diesen Befehl aus aktuellem Verzeichnis

scrapy crawl dmoz 

Aber ich bekomme die Fehlermeldung:

2015-12-17 12:23:22 [scrapy] INFO: Scrapy 1.0.3 started (bot: tutorial) 
2015-12-17 12:23:22 [scrapy] INFO: Optional features available: ssl, http11 
2015-12-17 12:23:22 [scrapy] INFO: Overridden settings: {'NEWSPIDER_MODULE': 'tutorial.spiders', 'SPIDER_MODULES': ['tutorial.spiders'], 'BOT_NAME': 'tutorial'} 
    ... 
     raise KeyError("Spider not found: {}".format(spider_name)) 
    KeyError: 'Spider not found: dmoz' 

Gibt es irgendwelche Vorschläge, welchen Teil habe ich falsch gemacht? Ich habe similar question in Stack-Überlauf überprüft und folgen Sie der Lösung dort. Aber ich bekomme immer noch den Fehler.

+0

können Sie teilen, welche Ausgaben für 'scrapy list', und auch aus welchem ​​Ordner führen Sie diese – eLRuLL

+0

Ich führe den Befehl aus dem Verzeichnis, das scrapy.cfg enthält. Ich habe versucht, scrapy Liste laufen zu lassen, es zeigt nichts. – endeavour90

Antwort

2

Sie müssen eine .py Erweiterung zu Ihrer dmoz_spider Datei hinzufügen. Der Dateiname sollte dmoz_spider.py lauten.

+0

Danke. Hätte nie gedacht, dass es das Problem ist – endeavour90

Verwandte Themen