专栏首页Marvin的技术博客爬虫管理平台Crawlab v0.3.0发布(Golang版本)
原创

爬虫管理平台Crawlab v0.3.0发布(Golang版本)

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

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

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

更新内容

本次v0.3.0版本是一次重大更新,主要是将原来基于Celery的Python版本后台用Golang替代了。更新内容如下:

  • Golang后端: 将原先的Python代码由Golang重构,提高了稳定性和性能
  • 节点拓扑图: 将节点拓扑结构可视化了
  • 节点系统信息: 可以看到节点的系统信息,例如操作系统、CPU数量,执行文件等等
  • 节点监控升级: 节点通过Redis来注册监控
  • 文件管理: 能够修改爬虫文件,并且提供代码高亮
  • 登录/注册/用户管理: 要求用户登录使用Crawlab,允许用户注册和用户管理,加入了基于角色的权限管理
  • 自动爬虫部署: 爬虫被自动同步/部署到所有在线节点
  • 更小的Docker镜像: 通过多阶段构建,将原先的Docker镜像大小从1.3G瘦身到700M

为什么会重构Crawlab

用Golang重构的初衷是为了解决一些根本性的bug,例如定时任务无法稳定触发,节点不会自动显示为离线,等等。重构后的API会更加稳定,更加高性能,以前任务列表响应大概在几百毫秒,而现在仅仅需要几毫秒。此外,本次重构优化了用户使用流程,例如之前需要手动部署爬虫,需要用户点击很多次才能运行爬虫;而现在,所有爬虫都是自动部署,代价是用户上传爬虫之后需要等待不到1分钟的时间,待爬虫文件通过GridFS部署到所有节点之后,才可以运行(当然,主节点是可以直接运行的)。本次重构还加入了一些附加功能,例如用户权限的功能(提供了基础的权限管理)、节点拓扑图、文件管理等等。总的来说,本次更新将Crawlab打造得更加稳定和实用。

Crawlab截屏预览

登录

首页

节点列表

节点拓扑图

爬虫列表

爬虫概览

爬虫分析

爬虫文件

任务详情 - 抓取结果

定时任务

为什么没有可配置爬虫

很遗憾,由于时间紧张,没有将可配置爬虫移植到新版Crawlab上。但是我们后面会将该功能加入进来。

接下来的计划

  • 日志管理,更加中心化的日志管理
  • 其他SQL数据库支持,支持储存结果为MySQL、Postgres等主流数据库
  • 可配置爬虫
  • 异常监控,日志错误异常,零值异常等
  • 统计数据可视化,更多图表功能

不过,如果您有更好的idea,欢迎随时提需求。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于Celery的分布式通用爬虫管理平台Crawlab

    Github: https://github.com/tikazyq/crawlab

    MarvinZhang
  • Scrapy爬虫学习记录

    昨天休息的时候偶然发现了一个的球鞋网站,上面有很多关于球鞋的资讯。于是,决定现学现卖,学习scrapy把数据都给爬下来。

    100000798482
  • 爬虫课程|利用Python Scrapy进行爬虫开发指南清单

    黄小怪
  • 数据化时代,爬虫工程师才是真正“扛把子”

    就像在饭店里,你点了土豆并且能吃到,是因为有人帮你在土豆、萝卜、西红柿等中找到土豆,也有人把土豆拿到你桌上。在网络上,这两个动作都是由一位叫做爬虫的同学帮你实现...

    数据猿
  • Python|简单理解网络爬虫带你入门

    入门编程的小白们总是对计算机领域的各种“黑科技”感到好奇,其中“爬虫”对于小白来说算是一个高大上的技术,所以今天我将为大家揭开爬虫神秘的面纱,同时带领大家和我一...

    算法与编程之美
  • 为爬虫获取登录cookies:登录的恩恩怨怨

    讲到的新闻爬虫,是基本不受目标服务器限制的爬虫,技术上的挑战主要在抓取任务的管理、分配,并发的使用,提高效率等方面。而实际中,不同抓取目标的爬虫会遇到很多阻碍,...

    一墨编程学习
  • 设计和实现一款轻量级的爬虫框架

    作者:王爵nice 链接:https://blog.biezhi.me/2018/01/design-and-implement-a-crawler-fram...

    程序员宝库
  • 设计和实现一款轻量级的爬虫框架

    作者:王爵nice ,来自架构文摘(ID:ArchDigest) 说起爬虫,大家能够想起 Python 里赫赫有名的 Scrapy 框架, 在本文中我们参考这...

    架构师小秘圈
  • 微博话题爬虫更新:突破 50 页限制

    在上一次更新至今,又出现了不少了 bug,昨天趁着有空更新了代码,这次的更新主要做了三件事

    月小水长
  • Python 爬虫介绍

    作为程序员,相信大家对“爬虫”这个词并不陌生,身边常常会有人提这个词,在不了解它的人眼中,会觉得这个技术很高端很神秘。不用着急,我们的爬虫系列就是带你去揭开它的...

    纯洁的微笑

扫码关注云+社区

领取腾讯云代金券