2015-12-17 6 views
5

私はscrapy documentationで治療チュートリアルをやっています。治療はスパイダーを見つけることができません

. 
├── 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が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) 

は、その後、私は

scrapy crawl dmoz 

カレントディレクトリから次のコマンドを実行します。しかし、私はエラーメッセージが表示されます:

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' 

は私が間違ってやったの部分の任意の提案はありますか? 私はsimilar questionをスタックオーバーフローでチェックし、そこの解決方法に従います。しかし、私はまだエラーが発生します。

+0

あなたは 'scrap list'の出力とこれを実行しているフォルダを共有できます – eLRuLL

+0

scrapy.cfgを含むディレクトリからコマンドを実行します。私は治療リストを実行しようとしたが、何も表示されません。 – endeavour90

答えて

2

dmoz_spiderファイルに.py拡張子を追加する必要があります。ファイル名はdmoz_spider.pyである必要があります。

+0

ありがとうございます。決してそれが問題だとは思わなかった – endeavour90

関連する問題