2015-06-16 48 views
3

在scrapy教程說,保存輸出到CSV或任何其他格式,我們應該使用這個命令:在scrapy中做什麼-t開關?

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

每當你不確定,look into the source code

按照crawl.py source code,如果你沒有明確指定格式,Scrapy會檢測到它 - 文件名的擴展名將會被用作格式:

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

在你的情況csv會用過的。

+0

這意味着我可以使用以下代碼保存到csv:scrapy crawl spider -o r -t csv。它是否正確? –

+0

@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用於指定傾倒物品的文件時使用的格式。

相關問題