Python KeyError:未找到爬行器[Scrapy]

Python KeyError:未找到爬行器[Scrapy],python,scrapy,web-crawler,scrapy-spider,Python,Scrapy,Web Crawler,Scrapy Spider,我有两只蜘蛛,它们都有相同的名字(犯错误的是人类) 当我爬的时候,两只蜘蛛都爬了 因此,当我更改其中一个爬行器的名称时(另一个爬行器仍然具有相同的名称Product): 我得到了以下错误: Traceback (most recent call last): File "/usr/local/bin/scrapy", line 11, in <module> sys.exit(execute()) File "/Library/Python/2.7/site-pack

我有两只蜘蛛,它们都有相同的名字(犯错误的是人类)

当我爬的时候,两只蜘蛛都爬了

因此,当我更改其中一个爬行器的名称时(另一个爬行器仍然具有相同的名称
Product
):

我得到了以下错误:

Traceback (most recent call last):
  File "/usr/local/bin/scrapy", line 11, in <module>
    sys.exit(execute())
  File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 143, in execute
    _run_print_help(parser, _run_command, cmd, args, opts)
  File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 89, in _run_print_help
    func(*a, **kw)
  File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 150, in _run_command
    cmd.run(args, opts)
  File "/Library/Python/2.7/site-packages/scrapy/commands/crawl.py", line 57, in run
    self.crawler_process.crawl(spname, **opts.spargs)
  File "/Library/Python/2.7/site-packages/scrapy/crawler.py", line 150, in crawl
    crawler = self._create_crawler(crawler_or_spidercls)
  File "/Library/Python/2.7/site-packages/scrapy/crawler.py", line 165, in _create_crawler
    spidercls = self.spider_loader.load(spidercls)
  File "/Library/Python/2.7/site-packages/scrapy/spiderloader.py", line 40, in load
    raise KeyError("Spider not found: {}".format(spider_name))
KeyError: 'Spider not found: Product'
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/scrapy”,第11行,在
sys.exit(execute())
文件“/Library/Python/2.7/site packages/scrapy/cmdline.py”,执行中的第143行
_运行\u打印\u帮助(解析器、\u运行\u命令、cmd、args、opts)
文件“/Library/Python/2.7/site packages/scrapy/cmdline.py”,第89行,在“运行”和“打印”帮助中
func(*a,**千瓦)
文件“/Library/Python/2.7/site packages/scrapy/cmdline.py”,第150行,在_run_命令中
cmd.run(参数、选项)
文件“/Library/Python/2.7/site packages/scrapy/commands/crawl.py”,第57行,运行中
self.crawler\u process.crawl(spname,**opts.spargs)
文件“/Library/Python/2.7/site packages/scrapy/crawler.py”,第150行,在爬网中
爬虫=自我。创建爬虫(爬虫或蜘蛛)
文件“/Library/Python/2.7/site packages/scrapy/crawler.py”,第165行,在创建爬虫程序中
spidercls=self.spider_loader.load(spidercls)
文件“/Library/Python/2.7/site packages/scrapy/spiderloader.py”,第40行,装入
raise KeyError(“未找到蜘蛛网:{}”。格式(蜘蛛网名称))
KeyError:“未找到蜘蛛:产品”


然而,在调试过程中,当我将名称
Product
更改为一个随机的新名称
foo
时,它起了作用


我不明白。为什么会发生这种情况?

您确定这两个spider在语法上都是有效的,并且现在可以导入吗?是的,它们在语法上是有效的。事实上,最初使用相同的名称按预期工作。情况如何?两个爬行器的名称都是
Product
,而不是
Product
Product
?您能重现这种奇怪的行为吗?
scrapy crawl Product
Traceback (most recent call last):
  File "/usr/local/bin/scrapy", line 11, in <module>
    sys.exit(execute())
  File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 143, in execute
    _run_print_help(parser, _run_command, cmd, args, opts)
  File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 89, in _run_print_help
    func(*a, **kw)
  File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 150, in _run_command
    cmd.run(args, opts)
  File "/Library/Python/2.7/site-packages/scrapy/commands/crawl.py", line 57, in run
    self.crawler_process.crawl(spname, **opts.spargs)
  File "/Library/Python/2.7/site-packages/scrapy/crawler.py", line 150, in crawl
    crawler = self._create_crawler(crawler_or_spidercls)
  File "/Library/Python/2.7/site-packages/scrapy/crawler.py", line 165, in _create_crawler
    spidercls = self.spider_loader.load(spidercls)
  File "/Library/Python/2.7/site-packages/scrapy/spiderloader.py", line 40, in load
    raise KeyError("Spider not found: {}".format(spider_name))
KeyError: 'Spider not found: Product'