scrapy中的-t开关是什么作用?

3
在Scrapy教程中提到,要将输出保存为CSV或任何其他格式,我们应使用以下命令:
scrapy crawl spider -o result.csv -t csv

一般情况下,我们可以使用以下命令:

scrapy crawl my_spider -o file_name.extension -t extension

但是我使用了这个命令而没有加上-t参数,也没有问题:

scrapy crawl spider -o result.csv

我的问题是什么是-t的作用?
2个回答

2

每当你不确定时,查看源代码

根据crawl.py源代码,如果你没有明确指定格式,Scrapy会自动检测 - 文件名的扩展名将被用作格式:

if not opts.output_format:
    opts.output_format = os.path.splitext(opts.output)[1].replace(".", "")

在您的情况下,将使用csv

这段代码的意思是我可以使用以下代码将数据保存为csv格式:scrapy crawl spider -o r -t csv。这正确吗? - Sara Santana
@SaraSantana 是的,你应该能够这样做 - 试一下。 - alecxe

1

您可以通过调用带有--help选项的命令来获取命令行工具选项的解释:

C:\>scrapy crawl --help

Usage
=====
  scrapy crawl [options] <spider>

Run a spider

Options
=======
--help, -h              show this help message and exit
-a NAME=VALUE           set spider argument (may be repeated)
--output=FILE, -o FILE  dump scraped items into FILE (use - for stdout)
--output-format=FORMAT, -t FORMAT
                        format to use for dumping items with -o
...

因此,-t用于指定在将项目转储到文件时使用的格式。


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