2017-03-02 85 views
0

我写了一些Scrapy蜘蛛。它将数据导出到我通过命令行传递的名称:E:\Anaconda3\envs\Blog2Doc\Lib\site-packages\scrapy\cmdline.py runspider blog2doc_scrapy\spiders\blog_spider.py -o ..\data\out.html。如果这个文件已经存在,这个蜘蛛只是将内容附加到已存在的文件中。如何检查输出文件是否已经存在并且是否存在 - 删除它。为了导出到文件,我编写了Blog2DocExporter(BaseItemExporter)类。它没有打开输出文件,在构造函数中它已经打开了文件对象。所以在这个导出器类中,我无法检查导出的文件是否已经存在。在Scrapy中如何检查导出的文件是否已经存在?

回答

0

Scrapy覆盖输出文件是一个已知的公开问题。例如见:

我自己提出了修复与增加后缀重命名文件。但是实现不是向后兼容的。 您可能会发现这很有仍然:https://github.com/scrapy/scrapy/pull/2093

它改变了FileFeedStorage,但你可以实现类似的东西,并期待在this other answer使用这种自定义源存储类。