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.
Czy możesz udostępnić, jakie dane wyjściowe dla 'listy pobierania ', a także z którego folderu używasz tego – eLRuLL
Uruchomię polecenie z katalogu zawierającego scrapy.cfg. Próbowałem uruchomić listę przeładunków, nic nie pokazuje. – endeavour90