scrapy 在非默认文件夹中有没有标题的零碎FEEDS

nle07wnf  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(104)

我想通过以下方式将数据保存到csv文件中:
/output/文件名.csv*******
在其他文件夹而非默认文件夹中,仅使用:

  • 〉scrapy爬行蜘蛛_名称-O文件名.csv*

但是我也想保存没有任何标题的数据。我发现你可以包括:

FEEDS = {
    'file_name.csv': {
        'format': 'csv',
        'item_export_kwargs': {
           'include_headers_line': False,
        },
    }
}

这就产生了一个问题,即当多次使用该命令时,“-O”不再替换该文件,而是追加,更重要的是,如果我使用以下命令,它将不起作用:

FEEDS = {
    r'file:///D:\xyz\output\file_name.csv': {
        'format': 'csv',
        'item_export_kwargs': {
           'include_headers_line': False,
        },
    }
}

我想要的目标文件夹。
我如何确保文件被新文件替换,并且我的数据被立即插入,而不带标头?

2w3rbyxf

2w3rbyxf1#

对于第一个问题,只需将overwrite: True添加到FEEDS字典中:

FEEDS = {
    'file_name.csv': {
        'format': 'csv',
        'item_export_kwargs': {
           'include_headers_line': False,
        },
        'overwrite': True,
    }
}

但是我不明白你的命令行参数的问题。在你的设置中指定存储后端就不需要提供-O命令行参数了。
如果您使用正斜杠而不是反斜杠,URI应该可以正常工作。

file:///D:/xyz/output/file_name.csv

进行这些更改应该会强制scrapy在每次执行时覆盖csv文件,并忽略向文件添加头。

相关问题