Python Scrapy错误,不再支持使用多个spider运行“scrapy crawl”

zdwk9cvp  于 2023-03-30  发布在  Python
关注(0)|答案(9)|浏览(351)

我在Scrapy Python中编写了一个脚本,几个月来一直运行良好(没有更改)。最近,当我在Windows PowerShell中执行脚本时,它引发了下一个错误:

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

...

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

我想知道是什么问题。
先谢了。

mpbci0fu

mpbci0fu1#

当您遇到这种情况时,很可能您在参数中的某个地方有一个额外的空格,而Crawler看到的参数比预期的多。
把它拆下来,它应该能工作。

eit6fx6z

eit6fx6z2#

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

pgvzfuti

pgvzfuti3#

我遇到了这个问题,我通过更改来修复它:
scrapy crawl s-mart -o test 2.csv -t csv
收件人:
scrapy crawl s-mart -o test2.csv -t csv
所以我猜是空格造成的?

ffx8fchx

ffx8fchx4#

不带-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

kwvwclae

kwvwclae5#

试试看

scrapy crawl spider –o filename.csv
ctrmrzij

ctrmrzij6#

可能的解决方案:
尝试在其模块中更改您的蜘蛛的名称。也许您已经在其他地方创建了一个同名的蜘蛛或复制了它,并且scrapy会跟踪您过去运行的内容,因此它会遇到2+同名的蜘蛛,并且由于名称必须是唯一的,因此它无法抓取它
改名解决了我的问题。

p4tfgftt

p4tfgftt7#

我在重命名我的spider后遇到了这个错误。解决方案是删除spider文件夹中的所有 *.pyc文件。当你下次运行scrapy时,这些文件会被python编译器重新生成。

rsl1atfo

rsl1atfo8#

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

w51jfk4q

w51jfk4q9#

我收到了同样的错误。我把小写的o改成了大写的O,它对我起作用了。
抓取蜘蛛-O '文件名.csv' -t 'csv'

相关问题