当没有结果时,防止Scrapy生成空文件

时间:2017-01-19 10:45:56

标签: python python-3.x scrapy

当scrapy蜘蛛没有产生任何结果时,有没有办法阻止genrate scrate为空文件?

使用示例

scrapy crawl lorem -o /path/to/lorem.json

使用的版本:

  • Python 3.6.0
  • Scrapy 1.3.0

2 个答案:

答案 0 :(得分:1)

这有点像黑客,但你可以删除文件,如果它是空的 这可以通过bash中的单个命令来实现:

scrapy crawl myspider -o test.json && if ! cat test.json; then rm test.json; fi 

你甚至可以为它设置一个别名。

答案 1 :(得分:0)

唯一的方法是编写基于FileFeedStorage的自定义Feed存储类,以便在第一个项目被删除时实现文件的延迟打开 - 默认FileFeedStorage在启动时创建文件。然后在jquery-turbolinks

中激活它
settings.py