Crawlab爬虫管理框架使用教程(上手)

Crawlab爬虫管理框架使用(上手)

1、准备

1.1 安装Go环境

官网要求使用 Go1.15+ 的 更多 Go 下载
我使用的是 Go1.17.5 ,如果你懒得去寻找的话也可以和我使用同一个版本 Go1.17.5 下载完成后直接点点就可以

1.2安装Docker

1.2.1 安装docker(默认推荐docker)

可参考 docker 官方文档 进行安装

Windows 和 Mac 的用户可以下载 Docker Desktop 来完成 Docker 安装。

1.2.2 下载镜像

crawlab开发者已经在DockerHub上构建了Crawlab镜像,只需要将其 pull 下来使用。

Docker国内加速器:

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

下载命令:(在这不建议使用。你问我为啥,因为我菜暂时没有能直接使用拉取下来的项目)

docker pull tikazyq/crawlab:latest

1.2.3 安装 Docker-Compose

docker-compose是一个集群管理方式,可以让我们更方便的管理crawlab

安装 docker-compose 其实比较简单,在安装了 pip 的情况下(Python 3),执行以下命令。

pip install docker-compose

安装好后可以执行 docker-compose ps 来查看docker集群运行状况 如下:

Name   Command   State   Ports
------------------------------
--------------------------------

这是没有 Docker 容器在运行的情况,也就是空列表。如果有容器在运行,可以看到其对应的信息。

1.2.4 更多请参考crawlab官方文档

2、初始化

2.1 拉取项目

git clone https://gitee.com/tikazyq/crawlab.git  #码云
或
git clone https://github.com/crawlab-team/crawlab.git	#github

**说明:**至于为什么不使用ssh?因为我操作时ssh拉取失败

2.2 启动运行项目

之前安装的docker-compose在这就起了作用,可以帮我们直接启动整个环境,就不必要使用docker命令去一个个部署启动

在拉取的项目中配置docker-compose.yml 文件:

version: '3.3'  # Docker Compose 的版本号(请看后续说明)
services:  # 服务
  master:  # 服务名称
    image: tikazyq/crawlab:latest  # 服务对应的镜像名称
    container_name: master  # 服务对应的容器名称
    environment:  # 这里定义传入的环境变量
      CRAWLAB_API_ADDRESS: "localhost:8000"  # 前端调用的 API 地址,默认为 localhost:8000
      CRAWLAB_SERVER_MASTER: "Y"  # 是否为主节点,Y/N
      CRAWLAB_MONGO_HOST: "mongo"  # MongoDB host,由于在 Docker Compose 里,可以引用服务名称
      CRAWLAB_REDIS_ADDRESS: "redis"  # Redis host,由于在 Docker Compose 里,可以引用服务名称
    ports:  # 映射的端口
      - "8080:8080" # 前端端口
      - "8000:8000" # 后端端口
    depends_on: # 依赖的服务
      - mongo  # MongoDB
      - redis  # Redis
  worker:  # 工作节点,与主节点配置类似,不重复写了
    image: tikazyq/crawlab:latest
    container_name: worker
    environment:
      CRAWLAB_SERVER_MASTER: "N"
      CRAWLAB_MONGO_HOST: "mongo"
      CRAWLAB_REDIS_ADDRESS: "redis"
    depends_on:
      - mongo
      - redis
  mongo:  # MongoDB 服务名称
    image: mongo:latest  # MongoDB 镜像名称
    restart: always  # 重启策略为“总是”
    ports:  # 映射端口
      - "27017:27017"
  redis:  # Redis 服务名称
    image: redis:latest  # Redis 镜像名称
    restart: always  # 重启策略为“总是”
    ports:  # 映射端口
      - "6379:6379"

可以根据自己的要求来配置docker-compose.yml。尤其需要注意CRAWLAB_API_ADDRESS这个环境变量,我在使用时就是这里出了问题,导致前端运行起来访问不到后端数据
更多配置请参考 官方配置

完成后就可使用以下命令启动,然后访问 http://localhost:8080

docker-compose up -d

3、使用

3.1 部署爬虫前

这里主要讲的是scrapy爬虫

对你已成功运行的爬虫准备要部署到crawlab上的需要在settings.py文件中找到ITEM_PIPELINES,添加如下代码

ITEM_PIPELINES = {
   'crawlab.pipelines.CrawlabMongoPipeline': 888,
}

以方便你在运行后查看结果数据

3.2 打包上传部署爬虫

您需要到爬虫根目录下进行打包,也就是和scrapy.cfg同级进行打包(所有文件包括scrapy.cfg)

**注意:**打包成zip文件

当然还有更为简便的上传操作,使用CLI命令行工具 到官方文档查看具体教程,这里就不做概述

其他更多具体操作也请参考crawlab教程

到这你的爬虫应该可以成功运行了,如果失败请在任务详情里查看日志进行对应的修改。

3.3 定时任务

这里主要讲述一下 Cron 定时器

相信对于学过bash脚本的朋友应该很简单,在cron行点击编辑会弹出一个生成 cron 的窗口,在下边有对应的定时操作,主需要选择你想要的时间即可。记住分、时、天、月、周每一个都需要选,否则不能保存

到这里crawlab的简单上手教程就完成了,你可以去探索更深层的用法。

你可能感兴趣的:(框架,爬虫,docker,容器)