我有一个 Scrapy spider 和 Pipeline 设置。
我的 Spider 从网站中提取数据,我的 Pipelineprocess_item()
方法将提取的数据插入到临时数据库表中。
最后,在 Pipeline 的close_spider()
方法中,我对临时数据库表运行了一些错误检查,如果一切正常,那么我将临时表设为永久。
但是,如果 Scrapy 在close_spider()
调用 Pipeline 的方法之前遇到异常,则可能是提取的数据不完整。
有没有办法检查 Scrapy 是否在 Pipeline 的close_spider()
方法中遇到异常?如果出现错误(表明提取的数据可能不完整),我不想让临时表永久化。
我正在使用设置为 1 的CloseSpider
扩展程序CLOSESPIDER_ERRORCOUNT
在第一个错误时关闭 Spider。但是,我还没有弄清楚如何在 Pipeline 的close_spider()
方法中区分正常关闭和错误关闭。