littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Golang和Vue的分布式爬虫管理平台

项目简介

本项目名为Crawlab,是一个基于Golang和Vue的分布式爬虫管理平台。它支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架,借助分布式架构,能高效、灵活地扩展和管理大规模的爬虫任务。

项目的主要特性和功能

  1. 支持Python、NodeJS、Go、Java、PHP等多种编程语言与多种爬虫框架。
  2. 采用分布式架构,包含主节点(Master Node)和多个工作节点(Worker Node),支持横向扩展。
  3. 主节点负责爬虫任务的调度和分发,工作节点负责执行任务。
  4. 使用SeaweedFS作为分布式文件系统,用于文件同步和日志存储。
  5. 前端界面基于Vue和Element - Plus构建,便于用户管理和监控爬虫任务。
  6. 提供Crawlab SDK,方便爬虫与平台集成,支持结果数据保存等功能。
  7. 支持定时任务的设置和管理。
  8. 提供任务日志和结果数据的查看功能,便于数据分析和问题排查。

安装使用步骤

安装要求

Docker部署(推荐)

  • Docker 18.03+
  • MongoDB 3.6+
  • Docker Compose 1.24+(可选,但推荐)

直接部署

  • Go 1.15+
  • Node 12.20+
  • MongoDB 3.6+
  • SeaweedFS 2.59+

快速开始

  1. 复制项目: bash cd crawlab-running/docker/basic
  2. 启动服务: bash docker-compose up -d
  3. 访问界面: 打开浏览器,访问http://localhost:8080,即可看到Crawlab的管理界面。

Docker部署详细步骤

  1. 创建docker-compose.yml文件: ```yaml version: '3.3' services: master: image: crawlabteam/crawlab:latest container_name: crawlab_example_master environment: CRAWLAB_NODE_MASTER: "Y" CRAWLAB_MONGO_HOST: "mongo" volumes:
    • "./.crawlab/master:/root/.crawlab" ports:
    • "8080:8080" depends_on:
    • mongo

worker01: image: crawlabteam/crawlab:latest container_name: crawlab_example_worker01 environment: CRAWLAB_NODE_MASTER: "N" CRAWLAB_GRPC_ADDRESS: "master" CRAWLAB_FS_FILER_URL: "http://master:8080/api/filer" volumes: - "./.crawlab/worker01:/root/.crawlab" depends_on: - master

worker02: image: crawlabteam/crawlab:latest container_name: crawlab_example_worker02 environment: CRAWLAB_NODE_MASTER: "N" CRAWLAB_GRPC_ADDRESS: "master" CRAWLAB_FS_FILER_URL: "http://master:8080/api/filer" volumes: - "./.crawlab/worker02:/root/.crawlab" depends_on: - master

mongo: image: mongo:latest container_name: crawlab_example_mongo restart: always ports: - "27017:27017" 2. 启动服务:bash docker-compose up -d ```

通过以上步骤,您可以快速启动并使用Crawlab进行分布式爬虫任务的管理和调度。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】