Scrapy爬虫崩溃与数据丢失问题排查及性能优化求助
爬虫运行崩溃与数据量差异问题求助
背景与问题现象
- 运行环境:16G内存、i5-12400处理器的工作电脑
- 操作方式:DOS窗口执行
scrapy crawl any命令启动Scrapy爬虫 - 异常表现:多次出现电脑逐步卡顿后崩溃;崩溃时MySQL去重表已存入2000万+条唯一URL,但输出的
data.jl文件仅70万+条数据,存在大量数据丢失
已实施的优化措施
- 自定义基于MySQL的
CustomFilter(继承RFPDupeFilter),替代默认的内存集合存储方案,实现URL去重以降低内存占用 - 自定义
YuceaiJlPipeline,设置每累计5000条数据执行一次文件flush操作
待解决问题
- 为什么URL去重记录数量与最终输出的数据量差异如此巨大?
- 如何优化才能避免电脑崩溃,保障爬虫稳定运行?
核心代码模块说明
涉及以下核心代码部分:
AnySpider爬虫类:负责过滤非HtmlResponse响应,以及中文内容不足20字的页面YuceaiItem:爬虫数据项的定义CustomFilter:自定义URL去重逻辑的实现YuceaiJlPipeline:自定义数据管道的实现- settings.py:爬虫相关配置文件
内容的提问来源于stack exchange,提问作者Jobs Fan
相关产品推荐
相关产品推荐

