爬虫管理平台Crawlab v0.3.1发布(Docker镜像优化)

2,238 阅读3分钟

Crawlab是基于Golang的分布式爬虫管理平台,支持Python、NodeJS、Java、Go、PHP等多种编程语言以及多种爬虫框架。

项目自今年三月份上线以来受到爬虫爱好者们和开发者们的好评,不少使用者还表示会用Crawlab搭建公司的爬虫平台。现在Github上已经有2k stars,Dockerhub上有1.4k pulls。经过近数月的迭代,我们陆续上线了定时任务、数据分析、可配置爬虫、自动提取字段、下载结果、上传爬虫、Docker部署等功能,将Crawlab打造得更加实用,更加全面,能够真正帮助用户解决爬虫管理困难的问题。

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

更新内容

本次更新v0.3.1是一次优化更新,主要针对Docker镜像的优化、前端优化、以及一些Bug修复。

更新内容如下:

功能 / 优化

  • Docker镜像优化:将Docker镜像进一步分离成master、worker、frontend以加强生产环境支持,并用alpine镜像减少体积
  • 单元测试:用单元测试用例覆盖部分后端Golang代码
  • 前端优化:登录页、按钮大小、提示等UI优化
  • 更灵活的节点注册:允许用户传一个变量来区分节点,默认是用MAC地址(对于需要多机器部署的用户,可以查看这个功能)

Bug修复

  • 上传大爬虫文件出错:上传大爬虫文件会引起内存溢出. #150
  • 无法同步爬虫文件:增加写权限绕开权限不够导致同步爬虫失败的问题. #114
  • 爬虫页面问题:移除爬虫页面“网站”这个字段来修复. #112
  • 节点展示问题:当多机器用docker运行节点时,只显示一个节点的问题,通过传变量作为标示符来解决. #99

接下来的计划

  • 可配置爬虫
  • 日志集中管理
  • 异常监控报警
  • RBAC权限控制
  • JWT权限验证优化
  • 界面安装第三方包

我们正在计划接下来的安排,包括各个任务的优先级、如何实现等等。如果有朋友对相关功能或其他功能感兴趣,请在Github Issues提出来,或者加作者微信tikazyq1告诉我们。

社区

如果您觉得Crawlab对您的日常开发或公司有帮助,请加作者微信 tikazyq1 并注明"Crawlab",作者会将你拉入群。欢迎在Github上进行star,以及,如果遇到任何问题,请随时在Github上提issue。另外,欢迎您对Crawlab做开发贡献。