如何在不需要新物品的情况下发布报废物品



我正在并行运行Scrapy 2.4蜘蛛,每次爬行可持续24小时。尤其是在一天结束时,内存使用量会不断累积,直到服务器的RAM用完。

在研究了内存泄漏主题后,我想知道这是否会导致问题:

def parse(self, response):
myItem = TestItem()
# ... some code
# return None in some cases due to error
return None

在使用解析方法的过程中,我正在创建一个新的Item,在某些情况下,我意识到这个Item不够好,无法保存,所以我通过返回None退出解析方法。这是合适的方法吗?或者这可能是内存泄漏的问题吗?

您应该使用trackref或muppy 调试内存泄漏

trackref是Scrapy提供的一个模块,用于调试最常见的内存泄漏情况。它基本上跟踪对所有实时请求、响应、项目、Spider和Selector对象的引用

更多信息可在scratchyDocs 中获得

最新更新