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

5

我用Scrapy Python编写了一个脚本,这个脚本在过去几个月一直运行得很好(没有更改)。最近当我在Windows Powershell中执行该脚本时,它会引发以下错误:

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

...

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

我想知道问题出在哪里。

谢谢提前。


奇怪的错误,以前从未见过...你的spiders文件夹里有多个爬虫吗? - Umair Ayub
不,我没有。我只有一个在spiders文件夹中的爬虫。 - José Luis
尝试不使用引号(')运行命令,即 scrapy crawl spider -o filename.csv -t csv - paul trmbrth
我已经尝试了那个选项,但它并没有起作用。 - José Luis
10个回答

5
当你遇到这种情况时,很可能在参数中存在额外的空格,爬虫看到的参数数量超出了预期。
去掉它,应该就可以正常工作了。

1
请确保使用短横线(-)而非长横线(–)来写命令选项:-o。 我尝试复制并粘贴您的命令,但它无法运行,但是使用短横线可以正常运行。

它不起作用。这个问题和使用管道有关吗(可以同时执行多个请求的管道)? - José Luis

1
我遇到了这个问题,通过更改以下命令来解决: scrapy crawl s-mart -o test2.csv -t csv 所以我猜测是空格导致的问题?

我和原帖作者遇到了同样的问题,我仔细检查了运行时参数。额外的空格是问题的原因。 - SQA777

0

尝试

scrapy crawl spider –o filename.csv

0

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


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

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

0

我也遇到了同样的错误。我将小写字母 o 改为大写字母 O,这对我有用。

scrapy crawl spider –O '文件名.csv' –t 'csv'


0

我有同样的问题,也许你需要尝试这个:

scrapy crawl nameSpider -o nameFile.csv

虽然这段代码可能解决了问题,但是包括解释它如何以及为什么解决了问题将有助于提高您的帖子质量,并可能导致更多的赞。请记住,您正在回答未来读者的问题,而不仅仅是现在提问的人。请[编辑]您的答案以添加解释并指出适用的限制和假设。 - Yunnosch

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接