scrapy Mongodb 内存(memory)增长

在使用Scrapy爬虫配合MongoDB进行数据采集时,发现内存持续增长,导致系统卡死。排查后确定并非MongoDB未释放内存,也非Scrapy的构造问题。内存增长的根源在于Scrapy中直接执行了数据库操作,未在适当位置释放内存。解决方案是将数据库操作移至中执行,以确保内存得到控制。通过调整Scrapy的数据库交互策略,成功解决了内存高涨的问题。
摘要由CSDN通过智能技术生成

很开心今个遇到了一个问题,scrapy使用爬虫的时候内部内存不受控制的增长.

之前使用的数据库一直都是mysql,严格遵守 item,spider,pipeline这个三个顺序来写的.在运行的时候单个spider的大小一直很稳定.60Mb以内.

现在遇到的问题是,我最近采集数据切换到了MongoDB,因为非结构化,我直接在内容部使用dict而不是使用item来运行.这个情况导致我运行spider很快我的内存便出现则无序的增长.在之后我的电脑就出现卡死的情况.

我需要解决这个问题:

  • 是MongoDB没有释放造成的?
    是的,MongoDB没有释放出来
  • 还是我没有按照item构造造成的?
    不是这个原因.

scrapy运行过程中为什么内存会一直增长?

因为我在 paser里面调用了MongoDB导致内存一直没有没有释放出来,从而导致内存高涨.

举个例子:


class XJSEArticleSpider(RedisCrawlSpider):
    name = 'XJSE_Article'
    custom_settings = {
        <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值