2015-06-16 1 views
3

В Scrapy учебников сказал, что для сохранения вывода в формате CSV или любой другой формат, мы должны использовать эту команду:Какой-то переключатель в scrapy?

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 используются для указания формата, используемого при демпинге элементов в файл.

Смежные вопросы