砂纸:命令覆盖先前的导出文件



设置

我将数据导出到标准命令(Mac OS(的标准命令中,例如

scrapy crawl spider -o spider_ouput.csv 

问题

导出新的spider_output.csv废纸将其附加到现有的spider_output.csv

我可以想到两个解决方案

  1. 命令零件覆盖而不是附加
  2. 命令终端在爬行之前删除现有的spider_output.csv

我已经读过(令我惊讶的是(当前无法做的砂纸1.有些人提出了解决方法,但我似乎无法使它起作用。

我找到了解决方案2的答案,但也无法使其工作。

有人可以帮我吗?也许我没有想到第三个解决方案?

此功能的废纸有一个开放的问题:https://github.com/scrapy/scrapy/issues/547

问题线程中提出了一些解决方案:

scrapy runspider spider.py -t json --nolog -o - > out.json

或在运行废除蜘蛛之前删除输出:

rm data.jl; scrapy crawl myspider -o data.jl

使用big o:

scrapy crawl spider -O spider_ouput.csv 

选项 -t定义文件格式,例如json,csv,...

选项-o FILE转储将项目刮入文件(用于Stdout的-(

>filename管道输出到文件名

我们完全可以覆盖先前的导出文件:

替换输出文件而不是附加文件:

刮擦爬网蜘蛛-T CSV -O->蜘蛛csv

或JSON格式:

刮擦爬网蜘蛛-t JSON -O->蜘蛛

最新更新