2015-12-17 16 views
5

Robię samouczek do scrapowania w scrapy documentation. To jest mój bieżący katalog wygląda następująco:Scrapy nie można znaleźć spider

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

dmoz_spider.py jest taka sama jak opisana w stronę samouczka scrapy.

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) 

Potem uruchomić to polecenie z aktualnego katalogu

scrapy crawl dmoz 

Ale pojawia się komunikat o błędzie:

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' 

Czy istnieją jakieś sugestie, która część zrobiłem źle? Sprawdziłem similar question w przepełnieniu stosu i podążam za rozwiązaniem tam. Ale nadal dostaję błąd.

+0

Czy możesz udostępnić, jakie dane wyjściowe dla 'listy pobierania ', a także z którego folderu używasz tego – eLRuLL

+0

Uruchomię polecenie z katalogu zawierającego scrapy.cfg. Próbowałem uruchomić listę przeładunków, nic nie pokazuje. – endeavour90

Odpowiedz

2

Musisz dodać rozszerzenie .py do swojego pliku dmoz_spider. Nazwa pliku powinna wynosić dmoz_spider.py.

+0

Dzięki. Nigdy nie myślałem, że to jest problem – endeavour90

Powiązane problemy