我在Scrapy Python中创建了一个脚本,它在几个月内一直运行良好(没有变化)。最近,当我在Windows Powershell中执行脚本时,它会引发下一个错误:
scrapy crawl spider –o 'filename.csv' –t 'csv'
...
Running 'scrapy crawl' with more than one spider is no longer supported
我想知道问题是什么。
提前致谢。
答案 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名称或参数值之间有空格,则会出现上述错误。