当前位置: 首页 > news >正文

爬虫部署平台crawlab使用说明

Crawlab 是一个基于 Go 语言的分布式网络爬虫管理平台,它支持 Python、Node.js、Jar、EXE 等多种类型的爬虫。

Crawlab 提供了一个可视化的界面,并且可以通过简单的配置来管理和监控爬虫程序。

以下是 Crawlab 的一些主要优点:

  1. 集中管理:Crawlab 允许用户在单一的界面中管理所有的爬虫任务,这使得任务的监控和管理变得更加容易。

  2. 支持多种编程语言:Crawlab 不局限于特定的编程语言,支持 Python、Node.js、Java、Go 等多种语言编写的爬虫。

  3. 分布式架构:Crawlab 支持分布式架构,可以轻松扩展到多个服务器以应对大规模的爬取任务。

  4. 可视化操作:Crawlab 提供一个直观的 Web 界面,可以通过界面进行爬虫的部署、执行、监控和调度。用户无需编写复杂的命令行代码。

  5. 日志实时查看:Crawlab 允许用户实时查看爬虫的输出日志,这对于调试和监控爬虫的状态非常有帮助。

  6. 结果持久化:用户可以将爬取的数据直接存储到 MongoDB、MySQL 等数据库中,Crawlab 内置对这些常见数据库的支持。

  7. 定时任务:Crawlab 提供了定时任务功能,用户可以定时启动爬虫,实现自动化地数据抓取。

  8. 便捷的部署方式:Crawlab 可以通过 Docker 容器化部署,大大简化了安装和配置的复杂性。

  9. 插件系统:Crawlab 提供插件系统,用户可以根据需要安装不同的插件来扩展平台的功能。

  10. 用户权限管理:Crawlab 提供用户权限管理,可以定义不同用户的操作权限,适用于团队协作环境。

  11. API接口:Crawlab 提供 RESTful API,便于与其他系统集成和自动化操作。

以下是简要使用说明。

部署很简单,参考: crawlab开源项目

1. 登录

第一次登录进去是英文版的,可以在右上角点击切换为中文:

在这里插入图片描述

2. 环境依赖安装

Python 包直接搜索安装即可:

在这里插入图片描述

在这里插入图片描述

模式选择所有节点,确认即可

在这里插入图片描述

点击任务即可查看安装情况,这里是三个节点都安装:

在这里插入图片描述

3. 新建项目

点击项目,然后点击新建项目

在这里插入图片描述

出现以下界面:

在这里插入图片描述

支持单个和批量创建项目,一般来说我们如果的spider都在一个项目下直接建单个的项目就行。

4. 爬虫文件上传与部署

该平台支持文件夹上传,上传爬虫步骤如下,点击爬虫,然后点击新建爬虫

在这里插入图片描述

在这里插入图片描述

名称随便写,最好写spider名字便于区分;

项目就选择我们之前创建的项目名字;

执行命令就是输入要执行的命令,如果是scrapy项目就直接像上面那样直接写就行,如果是其他python项目就输入类似 python demo.py 的命令;

参数可以不填

增量同步文件最好还是开启一下,主要是用于在更新或编辑爬虫代码时,只同步那些有变化的文件,而不是每次都同步所有文件;

其他的默认就行。

这里也支持批量创建爬虫:

在这里插入图片描述

正常情况下我们的scrapy项目下会有多个spider,所以用批量部署更方便。

我这里写测试只放了一个spider,

爬虫参数都填好后再点击确认:

在这里插入图片描述

就看到爬虫目录里已经有dsw_spider了。

本地上传文件直接点击上传文件图标即可:

在这里插入图片描述

可以直接点击选择目录上传

在这里插入图片描述

然后选择项目目录,确认上传就可以了

在这里插入图片描述

在这里插入图片描述

点击确认,会出现上传成功提示

在这里插入图片描述

这个时候就算把爬虫上传成功了,要调用可以直接点这个运行

在这里插入图片描述

点确认即开始运行,

查看爬虫日志:

在这里插入图片描述

在这里插入图片描述

5. 线上代码修改

在爬虫里点搜索按钮查看 ,即进入以下界面:

在这里插入图片描述

在爬虫的Files里也可以直接修改线上代码,crtl + s保存即生效,然后再重新运行程序即可。

6. 添加定时任务

点击定时任务,然后点击新建定时任务:

在这里插入图片描述

进入以下界面:

在这里插入图片描述

名称自定义,爬虫就点下拉框选择我们已经建好的爬虫,下面的scrapy命令也会自动索引补充,不用自己填;

Cron 表达式使用也简单,比如要创建一个 crontab 任务,要求每天早上 8:30 执行,你需要编辑 crontab 文件并添加以下行:

30 8 * * *

这里是如何解读这个 crontab 表达式的各个部分:

  • 30 表示分钟,指定在每小时的第 30 分钟。
  • 8 表示小时,指定在上午 8 点。
  • 第三个星号 * 表示日期,表示每个月的每一天。
  • 第四个星号 * 表示月份,表示每个月。
  • 第五个星号 * 表示星期几,表示每个星期的每一天。

然后点击确认即添加进定时任务。

到时间点可以去任务里查看程序是否执行:

在这里插入图片描述

在主页里也可以查看任务执行统计情况:

在这里插入图片描述

定时任务取消只需要在定时任务里点击取消 启用按钮就行了:

在这里插入图片描述

相关文章:

爬虫部署平台crawlab使用说明

Crawlab 是一个基于 Go 语言的分布式网络爬虫管理平台,它支持 Python、Node.js、Jar、EXE 等多种类型的爬虫。 Crawlab 提供了一个可视化的界面,并且可以通过简单的配置来管理和监控爬虫程序。 以下是 Crawlab 的一些主要优点: 集中管理&am…...

uniapp uni.scss中使用@mixin混入,在文件引入@include 样式不生效 Error: Undefined mixin.(踩坑记录一)

问题: 在uni.scss文件定义mixin 2. 在vue文件引入: 3. 出现报错信息: 4. 问题思考: 是不是需要引入uni.scss ? 答案不需要 uni.scss是一个特殊文件,在代码中无需 import 这个文件即可在scss代码中使用这里的样式变量。uni-app的…...

Redis的5大常见数据类型的用法

上一篇文章我们讲了Redis的10大应用场景,这一篇文章就针对Redis的常用数据结构进行一个说明,通过示例的形式演示每一种数据结构如何使用。 当涉及Redis的数据操作时,不同数据类型对应的不同数据结构,如下就对5大常用的数据类型进行…...

刘小光本就疑心赵本山与他媳妇李琳有染,赵本山为证实清白便想起蛋糕上的字,结果呢?

刘小光本就疑心赵本山与他媳妇李琳有染,赵本山为证实清白便想起蛋糕上的字,结果呢? ——小品《生日快乐》(中5)的台词 (接上) 赵本山:噢!对对!那谁,老四,是…...

Unity之PUN实现多人联机射击游戏的优化(Section 2)

目录 🎮一、准备工作 🎮二、实现手雷投掷动作 🎮三、手雷投掷同步 💤3.1 photonView.RPC 🎮四、同步手雷伤害 这几周都给我布置任务了,最近可忙。现在终于有机会更新了,也谢谢大家的阅读&a…...

多叉树题目:N 叉树的层序遍历

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:N 叉树的层序遍历 出处:429. N 叉树的层序遍历 难度 4 级 题目描述 要求 给定一个 N 叉树的根结点 root \texttt{root} root&#xf…...

时序数据库IoTDB:功能详解与行业应用

一文读懂时序数据库 IoTDB。 01 为什么需要时序数据库 解释时序数据库前,先了解一下何谓时序数据。 时序数据,也称为时间序列数据,是指按时间顺序记录的同一统计指标的数据集合。这类数据的来源主要是能源、工程、交通等工业物联网强关联行业…...

信息系统项目管理师——第18章项目绩效域管理(一)

本章节内容属于第四版新增知识,为PMBOK第七版专有,选择、案例、论文都会考,属于比较重要的章节。 选择题,稳定考3分左右,新教材基本考课本原话,需要多读课本,多刷题。 案例题,考的概…...

WebSocket用户验证

在WebSocket中,如何携带用户的验证信息 一、在OnMessage中进行验证 客户端在连接到服务器后,客户端通过发送消息,服务器端在OnMessage方法中,进行信息验证,这种方式需要将用户身份验证及接收用户消息进行混合处理&am…...

NOSQL(非关系型数据库)的优缺点有哪些?

优点: 高度灵活且可扩展:NoSQL数据库不受固定数据模型的限制,可以根据应用需求灵活设计数据结构,轻松应对大规模数据集。此外,它支持分布式架构,具有出色的水平扩展能力,能够高效地处理大量数据…...

个人推荐Redis比较好的一种使用规范

随着对个人项目的不断开发、迭代和重构,博主在这个过程中总结出了一套使用redis的较好的规范。主要包含Redis的key命名规范和Redis代码规范。 主要内容 主要包含以下几个内容: 同一应用的key在最前面添加统一的前缀,如应用名; 案…...

【教程】宝塔default.db占用空间几十g解决方法|宝塔占用磁盘空间特别大解决方法|宝塔磁盘被占满怎么清理

目录 一、前言二、排查问题三、解决方法 一、前言 用过宝塔创建网站,大家应该都非常熟悉,但是用随着用的时间越来越多,宝塔所占用的空间也越来越多,不停的加大数据盘都没有用,我原先买了30G够用了,随着时间…...

Unity类银河恶魔城学习记录11-15 p117 Ice and Fire item Effect源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili IceAndFire_Controller.cs using System.Collections; using System.Coll…...

Qt QML的枚举浅用

QML的枚举用法 序言概念命名规则在QML定义枚举的规范 用法QML的枚举定义方法供QML调用的,C的枚举定义方法 序言 概念 QML的枚举和C的其实差不多,但是呢,局限比较多,首先不能在main.qml里定义,也不能在子项中定义。 …...

设计模式:单例模式六种实现

单例模式有多种实现方式,每种方式都有其设计思想、优缺点以及适用的使用场景。以下是一些常见的单例实现方式: 1. 懒汉式(线程不安全) 设计思想 这种实现方式采用了类加载的懒加载机制来保证单例只在第一次使用时被创建。 实现代码 public class Singleton {private s…...

Mybatis-Plus05(分页插件)

分页插件 MyBatis Plus自带分页插件,只要简单的配置即可实现分页功能 1. 添加配置类 Configuration MapperScan("com.atguigu.mybatisplus.mapper") //可以将主类中的注解移到此处 public class MybatisPlusConfig {Bean public MybatisPlusIntercepto…...

python爬取B站视频

参考:https://cloud.tencent.com/developer/article/1768680 参考的代码有点问题,请求头需要修改,上代码: import requests import re # 正则表达式 import pprint import json from moviepy.editor import AudioFileClip, Vid…...

深度学习500问——Chapter05: 卷积神经网络(CNN)(2)

文章目录 5.6 有哪些池化方法 5.7 1x1卷积作用 5.8 卷积层和池化层有什么区别 5.9 卷积核是否一定越大越好 5.10 每层卷积是否只能用一种尺寸的卷积核 5.11 怎样才能减少卷积层参数量 5.12 在进行卷积操作时,必须同时考虑通道和区域吗 5.13 采用宽卷积的好处有什么 …...

基于单片机的测时仪系统设计

**单片机设计介绍,基于单片机的测时仪系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的测时仪系统设计是一个结合了单片机技术与测时技术的综合性项目。该设计的目标是创建一款精度高、稳定性强且…...

鸿蒙原生应用开发-网络管理Socket连接(三)

应用通过TLS Socket进行加密数据传输 开发步骤 客户端TLS Socket流程: 1.import需要的socket模块。 2.绑定服务器IP和端口号。 3.双向认证上传客户端CA证书及数字证书;单向认证只上传CA证书,无需上传客户端证书。 4.创建一个TLSSocket连接…...

接口测试中缓存处理策略

在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...