Python Scrapy错误。不再支持使用多个蜘蛛运行'scrapy crawl'

时间:2017-02-20 18:13:02

标签: scrapy scrapy-spider

我在Scrapy Python中创建了一个脚本,它在几个月内一直运行良好(没有变化)。最近,当我在Windows Powershell中执行脚本时,它会引发下一个错误:

scrapy crawl spider –o 'filename.csv' –t 'csv'

...

Running 'scrapy crawl' with more than one spider is no longer supported

我想知道问题是什么。

提前致谢。

9 个答案:

答案 0 :(得分:0)

运行不带-t的命令,它是基于预定义模板生成新蜘蛛的快捷方式:

scrapy genspider [-t template] <name> <domain>

尝试类似:

scrapy crawl <yourspidername> –o filename.csv

文档https://doc.scrapy.org/en/0.10.3/topics/commands.html#available-tool-commands

答案 1 :(得分:0)

确保使用短破折号编写命令选项:-o而不是-o。 我尝试复制并粘贴你的命令但没有用,但是它用短划线工作。

答案 2 :(得分:0)

尝试

scrapy crawl spider –o filename.csv

答案 3 :(得分:0)

可能的解决方案:

尝试在其模块中更改蜘蛛的名称。也许你已经在其他地方创建了一个相同名称的蜘蛛或者复制了它,并且scrapy记录了你过去运行的内容,因此遇到了2个同名的蜘蛛,因为名称必须是唯一的,它不能爬行它

更改名称解决了我的问题。

答案 4 :(得分:0)

我遇到了这个问题,我通过更改修复了它:

scrapy crawl s-mart -o test 2.csv -t csv

致:

scrapy crawl s-mart -o test2.csv -t csv

所以我猜这个空格导致了这个?

答案 5 :(得分:0)

重命名蜘蛛后出现此错误。 解决方案是删除蜘蛛文件夹中的所有* .pyc文件。 下次运行scrapy时,这些将由python编译器重新生成。

答案 6 :(得分:0)

我的参数中有一个“ \ n”。 ... replace(“ \ n”,“”)

答案 7 :(得分:0)

遇到这种情况时,很可能在参数中的某个地方有一个多余的空间,而搜寻器看到的参数比预期的要多。

删除它,它应该可以工作。

答案 8 :(得分:-1)

scrapy crawl spider –o 'filename.csv' –t 'csv'

在上面的命令中,蜘蛛网名称中不能有空格,例如

scrapy crawl spider name –o 'filename.csv' –t 'csv'应该更改为

scrapy crawl spidername –o 'filename.csv' –t 'csv'

如果我们通过anaconda命令提示符传递的Spider名称或参数值之间有空格,则会出现上述错误。