Linux 如何使用scrapy命令动态创建提要导出文件名

Linux 如何使用scrapy命令动态创建提要导出文件名,linux,scrapy,Linux,Scrapy,这是运行我的刮板的命令 scrapy crawl monitor -a filename="ScrapeProject.csv" -o filename.csv 它运行并将刮取的数据保存到filename.csv 我想将filename.csv作为scraper运行的当前日期时间安排为cronjob 我试过用背虱,但没用 scrapy crawl monitor -a filename="ScrapeProject.csv" -o `date`.csv 我也试过了 scrapy crawl

这是运行我的刮板的命令

scrapy crawl monitor -a filename="ScrapeProject.csv" -o filename.csv
它运行并将刮取的数据保存到
filename.csv

我想将filename.csv作为scraper运行的当前日期时间安排为cronjob

我试过用背虱,但没用

scrapy crawl monitor -a filename="ScrapeProject.csv" -o `date`.csv
我也试过了

scrapy crawl monitor -a filename="ScrapeProject.csv" -o "date".csv
编辑:

下面是我根据@dps建议运行的命令,但它会提示我输入什么

root@ubuntu:/home/mani/pricemonitor# scrapy crawl monitor -a filename="ScrapeProject.csv" -o `date +\%m`.`date +\%d`.`date +\%y`.csv`
> 
>

您没有试图对cron作业中的date命令应用任何格式,是吗?您需要为cron转义百分号,即

`date +\%m`.`date +\%d`.`date +\%y`.tar.gz
见:


另外,当您不使用cron(带有勾选的
`date`
)时,它是否从命令行起作用?

您没有试图在cron作业中对date命令应用任何格式,是吗?您需要为cron转义百分号,即

`date +\%m`.`date +\%d`.`date +\%y`.tar.gz
见:


另外,当您不使用cron(带有勾选的
`date`
)时,它是否可以从命令行工作?

Scrapy提要导出也可以理解(一些内置的)开箱即用

%(时间)s
就是其中之一

因此,您可以执行以下操作:

scrapy crawl monitor -a filename="ScrapeProject.csv" -o '%(time)s.csv'
它将以
YYYY-mm-ddTHH-mm-SS
的形式创建输出文件,例如
2017-05-11T12-12-18.csv

在内部,使用
datetime.utcnow().replace(微秒=0).isoformat().replace(“:”,“-”)


注意:您可以在提要URI中使用任何spider属性(您使用
-o
设置的属性)。请记住(可以使用
-a key=value添加到命令行的内容)将作为spider参数(字符串)提供。

Scrapy提要导出也可以理解(一些内置的)开箱即用

%(时间)s
就是其中之一

因此,您可以执行以下操作:

scrapy crawl monitor -a filename="ScrapeProject.csv" -o '%(time)s.csv'
它将以
YYYY-mm-ddTHH-mm-SS
的形式创建输出文件,例如
2017-05-11T12-12-18.csv

在内部,使用
datetime.utcnow().replace(微秒=0).isoformat().replace(“:”,“-”)


注意:您可以在提要URI中使用任何spider属性(您使用
-o
设置的属性)。请记住(您可以使用
-a key=value
添加到命令行的内容)将作为spider参数(字符串)提供。

Damnn您太不可思议了,我不得不将我接受的答案从@dps恢复到您的。。。。shakes fist不能赢得所有,回答很好。对于windows用户的小提示(我知道这是第一个结果!),我只能用双引号来实现,但它很有魅力。提示hatDamnn您太不可思议了,我不得不将我接受的答案从@dps恢复到您的。。。。shakes fist不能赢得所有,回答很好。对于windows用户的小提示(我知道这是第一个结果!),我只能用双引号来实现,但它很有魅力。贴士帽