爬虫管理平台 Crawlab 新版本的正确打开姿势(一)

5,063 阅读6分钟

前言

Crawlab 是开源分布式爬虫管理平台,近期发布了 v0.6 beta 版本,在性能、稳定性、易用性等方面做了大量的优化。它相对于之前的 v0.5 版本有什么区别?其中主要优化的部分主要是什么?作为 Crawlab 用户我是否应该迁移到新版本上?本篇文章将从新版本的新特性出发,介绍新老版本的主要区别,以及如何安装使用新版本,让对 Crawlab v0.6 新版本感兴趣的小伙伴更容易上手。

新特性介绍

众所周知,v0.6 新版本做了大量的底层优化,不过作者不打算介绍底层原理,我们将在之后的文章中详细介绍。这个小节将从使用方面主要介绍新版本的主要新功能和特性。

文件上传优化

在 Crawlab v0.6 版本之前,上传爬虫文件有 2 种方式:ZIP 打包或者使用 CLI 工具。ZIP 打包上传被证明是一种落后的方式,特别是遇到 Scrapy 项目,必须要求在 scrapy.cfg 所在目录(根目录)进行打包,否则 Crawlab 内置的 Scrapy 辅助工具将识别不出来,或者运行时因为目录层级结构不一致导致错误;此外,即使使用 CLI 上传,也会出现类似的目录层级结构问题。在新版本中,我们保留了 CLI 上传的方式,移除了 ZIP 上传方式,另外添加了拖拽、选择目录、选择文件等非 ZIP 打包上传文件的方式。

拖拽上传

拖拽上传非常简单,就跟在 IDE 里操作一样,将文件从操作系统目录中拖拽到文件编辑器导航栏其中一个目录上,即可上传。

crawlab-drag-drop-upload

选择目录上传

如果您想上传整个爬虫目录,同样可以在 Crawlab 新版本中操作。操作方式非常简单,点击文件上传按钮,点选目录,再点击上传按钮并选择待上传目录,就可以将整个爬虫项目上传到 Crawlab 了。

crawlab-select-folder-upload

选择文件上传

除了拖拽上传和选择目录上传,Crawlab 也允许单独选择文件上传。操作方式跟选择目录上传类似。

crawlab-select-file-upload

文件编辑器优化

老版本 (v0.5) 的文件编辑器虽然可以做一些基础的文件编辑功能,但它似乎还不够像主流文件编辑器软件这样完善,说白了就是用得不爽。Crawlab 新版本在文件编辑器方面做了大量的优化,几乎是推倒重做。目的就是为了让用户在界面上操作文件更舒服,而不用勉强采用 “本地编辑再上传运行” 的蹩脚方式。很多时候,爬虫工程师需要及时调试代码,而 Crawlab 新版本希望通过这次优化让用户尽可能方便的在界面上操作文件,从而摆脱对本地编辑的依赖。除了之前提到的优化后的文件目录上传方式以外,Crawlab 文件编辑器还支持更多现代化代码编辑器功能,包括文件标签、右键菜单操作、拖拽移动、智能图标等功能。

文件标签

有时候编辑代码时需要多个文件同时操作,这在主流代码编辑器中都有实现,而 Crawlab 新版本也同样支持。

可以双击文件打开多个标签。

crawlab-file-editor-open-tabs

也可以点击文件标签来回切换。

crawlab-file-editor-switch-tabs

还有更多复杂操作,例如拖拽和右键菜单操作。

crawlab-filer-editor-drag-tabs

右键菜单操作

Crawlab 文件编辑器可以右键点击左侧的文件或目录进行更多的操作,新建文件、新建目录、重命名、复制、删除,应有尽有。

crawlab-file-editor-context-menu

拖拽移动

Crawlab 文件编辑器还可以像主流 IDE 那样拖拽移动文件或目录。

crawlab-file-editor-drag-drop

智能图标

很多人可能比较习惯 JebBrains IDEA 或 VS Code 等 IDE 中各种类别文件目录的自动指定图标,而 Crawlab 文件编辑器中也支持这个功能,让开发者可以一目了然的了解各个文件或目录是用做什么功能的。

crawlab-file-editor-icons

Crawlab 文件编辑器的智能图标是基于 atom-material-icons 实现的。

表格功能优化

Crawlab 新版本中加强了表格的优化。表格是展现列表的有效方式,例如爬虫列表、任务列表等都是以表格形式展现的。Crawlab 在新版本中允许用户进行一些高级操作,例如搜索、筛选、自定义列等功能。

搜索

Crawlab 表格可以点击表头的筛选按钮搜索获取相关项。

crawlab-table-search

筛选

用户也可以在 Crawlab 表格中进行筛选操作。

crawlab-table-filter

自定义列

用户可以在 Crawlab 表格中自定义想要展现或隐藏的列,还可以进行排序。

crawlab-table-customize-columns

如何安装

看了上面一些新功能介绍,一些读者可能会迫不及待想要开始使用了。虽然 v0.6 还未发布正式版本,但想要尝鲜体验最新的 beta 版本还是很简单的,跟之前版本的 Docker 部署方式是类似的。这里介绍一下本地伪多节点部署(MND),只是做 Demo 用。其他部署方式包括生成环境部署请参考 官方文档。同时,你也可以参考官方文档中的 快速开始

伪多节点部署步骤如下。

  1. 安装 DockerDocker-Compose

  2. 创建 docker-compose.yml 并进行配置,内容如下:

    version: '3.3'
    services:
      master:
        image: crawlabteam/crawlab:latest
        environment:
          CRAWLAB_NODE_MASTER: "Y"
          CRAWLAB_NODE_NAME: "Master Node"
          CRAWLAB_MONGO_HOST: "mongo"
          GOPROXY: https://goproxy.cn,direct
        ports:
          - "8080:8080"
        depends_on:
          - mongo
    
      worker01:
        image: crawlabteam/crawlab:latest
        environment:
          CRAWLAB_NODE_MASTER: "N"
          CRAWLAB_NODE_NAME: "Worker Node 01"
          CRAWLAB_GRPC_ADDRESS: "master"
          CRAWLAB_FS_FILER_URL: "http://master:8080/api/filer"
          GOPROXY: https://goproxy.cn,direct
        depends_on:
          - master
    
      worker02:
        image: crawlabteam/crawlab:latest
        environment:
          CRAWLAB_NODE_MASTER: "N"
          CRAWLAB_NODE_NAME: "Worker Node 02"
          CRAWLAB_GRPC_ADDRESS: "master"
          CRAWLAB_FS_FILER_URL: "http://master:8080/api/filer"
          GOPROXY: https://goproxy.cn,direct
        depends_on:
          - master
    
      mongo:
        image: mongo:4
        restart: always
    
    
  3. 执行 docker-compose pull 拉取 Docker 镜像

  4. 执行 docker-compose up -d 启动 Docker 容器

启动完毕之后,就可以在浏览器中打开 http://localhost:8080 访问 Crawlab 主界面。默认登陆用户名密码为 admin/admin

总结

本文简单介绍了一下 Crawlab v0.6 beta 新版本中的部分新功能和特性。其中,本文图文并茂的介绍了文件上传、文件编辑器、表格高级功能几个非常实用的易用性方面的优化。当然,Crawlab 新版本中的优化和新特性还远不限于易用性,在后面的相关文章中,将介绍更多的新特性和功能,包括健壮性可扩展性可维护性方面的优化,例如插件框架等。

社区

如果您认为 Crawlab 对您的工作或学习有帮助,可以加作者微信 tikazyq1,在技术讨论群与 Crawlab 使用者和开发者进行交流和学习。同时,如果您认为 Crawlab 好用,请您分享给可能会需要爬虫管理平台的朋友,您的分享可能对别人产生重要的价值。