为什么选择 Crawlab

Crawlab 主要解决的是大量爬虫管理困难的问题,例如需要监控上百个网站的参杂 Scrapy 和 Selenium 的项目不容易做到同时管理,而且命令行管理的成本非常高,还容易出错。Crawlab 支持任何语言和任何框架,配合任务调度、任务监控,很容易做到对成规模的爬虫项目进行有效监控管理。

Crawlab 是一个分布式爬虫管理平台。有了爬虫管理平台,开发者特别是爬虫工程师就能够方便的添加爬虫、执行任务、查看结果,而不用在命令行之间来回切换,非常容易出错。一个常见的场景就是爬虫工程师最初技术选型用了 Scrapy 和 crontab 来管理爬虫任务,他不得不小心翼翼的选择定时任务的时间区间,以至于不会将服务器 CPU 或内存占满;更棘手的问题是,他还需要将 Scrapy 产生的日志存到文件里,一旦爬虫出错了,他不得不用 shell 命令一个一个来查看日志来定位错误原因,严重时会花上一个整天;还有个严重的问题,爬虫工程师可能发现公司业务量在增加,他需要写上百个爬虫来满足公司的业务需求,而用 Scrapy 和 crontab 来管理完全就是个噩梦。可怜的爬虫工程师其实完全可以选择一个合适爬虫管理平台来解决他的问题。

市面上优秀的爬虫管理平台并不多,但是大多数开源爬虫管理平台只支持 Scrapy,对于非 Scrapy 爬虫来说无法使用,Crawlab 的实用性和稳定性更强

以下是开源的爬虫管理平台一览。

框架 技术 优点 缺点 Github 统计数据
Crawlab Golang + Vue 不局限于 scrapy,可以运行任何语言和框架的爬虫,精美的 UI 界面,天然支持分布式爬虫,支持节点管理、爬虫管理、任务管理、定时任务、结果导出、数据统计、消息通知、可配置爬虫、在线编辑代码等功能 暂时不支持爬虫版本管理
ScrapydWeb Python Flask + Vue 精美的 UI 界面,内置了 scrapy 日志解析器,有较多任务运行统计图表,支持节点管理、定时任务、邮件提醒、移动界面,算是 scrapy-based 中功能完善的爬虫管理平台 不支持 scrapy 以外的爬虫,Python Flask 为后端,性能上有一定局限性
Gerapy Python Django + Vue Gerapy 是崔庆才大神开发的爬虫管理平台,安装部署非常简单,同样基于 scrapyd,有精美的 UI 界面,支持节点管理、代码编辑、可配置规则等功能 同样不支持 scrapy 以外的爬虫,而且据使用者反馈,1.0 版本有很多 bug,期待 2.0 版本会有一定程度的改进
SpiderKeeper Python Flask 基于 scrapyd,开源版 Scrapyhub,非常简洁的 UI 界面,支持定时任务 可能有些过于简洁了,不支持分页,不支持节点管理,不支持 scrapy 以外的爬虫