爬虫部署平台crawlab使用说明

news2024/11/16 0:04:11

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 点。
  • 第三个星号 * 表示日期,表示每个月的每一天。
  • 第四个星号 * 表示月份,表示每个月。
  • 第五个星号 * 表示星期几,表示每个星期的每一天。

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1568397.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DFS:深搜+回溯+剪枝解决组合问题

创作不易,感谢支持!!! 一、电话号码的组合 . - 力扣(LeetCode) class Solution { public:string hash[10]{"","","abc","def","ghi","jkl","mno","pqrs"…

2024年 前端JavaScript 进阶 第3天 笔记

3.1-JS进阶-内容和两种编程思想 3.2-构造函数实现封装以及存在 3.3-原型对象prototype 3.4-数组扩展案例-求最大值和数组求和 3.5-constructor属性以及应用 3.6-对象原型proto 3.7-原型继承 3.8-原型链以及instanceof运算符 3.9-综合案例-模态框构造函数写法 3.10-综合案例-0pe…

vtk,ITK,DICOM3.0

(14 封私信 / 80 条消息) VTK ITK OPENCV,从图像处理的角度来说,哪种用的人多? - 知乎 (zhihu.com) 医学领域:通常要求使用ITK和VTK。 ITK做底层处理算法。 VTK做可视化显示。 ITK:Insight Segment and Regestration Toolkit …

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

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

我与C++的爱恋:内联函数,auto

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:我与C的爱恋 ​ 一、内联函数 1.内联函数的概念 内联函数目的是减少函数调用的开销,通过将每个调用点将函数展开来实现。这种方法仅适用于那些函数体小、调用频繁的函数。 …

Fusion360修改嘉立创EDA专业版生成的3D外壳文件

需要第三方软件的原因 嘉立创EDA专业版生成电路板的3D外壳文件是比较快捷的,但如果侧面精密开孔或者添加其它非常规的元素还是有些局限。嘉立创EDA专业版可以把3D外壳文件导出,这就大大方便了第三方软件的修改。 本文是利用Fusion360修改3D外壳文件&…

C++ | string类学习 | string的常见接口使用方式

目录 为什么要学习string类? C语言中的字符串 OOP面向对象编程 两个面试题 标准库中的string类 string类了解 string类的文档介绍 总结 string类的常用接口说明 string类对象的常见构造 string类对象的容量操作 size()和length() clear() resize(size…

【C语言】【Leetcode】2437. 有效时间的数目

文章目录 题目思路一、枚举思路二、回溯 题目 链接: link 思路一、枚举 这题的可以简单的看成 h1 h2 : m1 m2 的情况,其中 h1 和 h2 有关, m1 和 m2 有关,数目不多可以直接暴力枚举解决 int countTime(char * time) {int countHour 0;i…

SQLite下一代查询规划器(十)

返回:SQLite—系列文章目录 上一篇:SQLite 查询优化器概述(九) 下一篇:SQLite的架构(十一) 1. 引言 “查询规划器”的任务是弄清楚 找出完成 SQL 语句的最佳算法或“查询计划”。 从 SQLi…

Markdown介绍

一.Markdown基本介绍🍗 Markdown 是一种轻量级标记语言,用于简单、易读易写的文本格式编写。它设计初衷是让人们能够使用普通文本编辑器编写格式简单的文档,并且可以转换成有效的HTML。Markdown 的语法非常简洁直观,通过使用特定…

BIT-5-动态内存管理(C语言进阶)

本章重点 为什么存在动态内存分配动态内存函数的介绍 mallocfreecallocrealloc常见的动态内存错误几个经典的笔试题柔性数组 1. 为什么存在动态内存分配 我们已经掌握的内存开辟方式有: int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟…

好物视频素材在哪找?视频素材大全app下载

创作优质视频内容不仅仅是一种艺术,也是一种科学,需要对素材的深刻理解和精心挑选。掌握了这些高清无水印视频素材,您就拥有了创作引人入胜视频内容的强大工具。以下是更多精选的视频素材网站,旨在为您的视频项目提供更广阔的视野…

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

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

算法day30 回溯6

332 重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK …

LoRa物联网行业解决方案 1

1 行业应用 智慧停车 智能抄表 智慧牧场 智能生产 智能物流 智能健康 2 物联网智慧农场项目需求 3 为什么选lora? 4 设计 5 模块性能参数 sx1278 lora扩频无线模块 SEMTECH公司SX1278芯片 LoRa 扩频技术 通信距离10000米 SPI通信接口 mcu选型 硬件平台介绍 …

【Web】2024红明谷CTF初赛个人wp(2/4)

目录 ezphp playground 时间原因只打了2个小时,出了2道,简单记录一下 ezphp 参考文章 PHP filter chains: file read from error-based oracle https://github.com/synacktiv/php_filter_chains_oracle_exploit 用上面的脚本爆出部分源码&#xff…

算法打卡day34|动态规划篇02| Leetcode 62.不同路径、63. 不同路径 II

算法题 Leetcode 62.不同路径 题目链接:62.不同路径 大佬视频讲解:不同路径视频讲解 个人思路 这道题非常经典,课后题也有,思路就是先初始化第一行和第一列的值,然后利用动规把到每一步计算出来,这样到终点就知道其左…

【并发编程系列】使用 CompletableFuture 实现并发任务处理

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

AI结合机器人的入门级仿真环境有哪些?

由于使用真实的机器人开发和测试应用程序既昂贵又费时,因此仿真已成为机器人应用程序开发中越来越重要的部分。在部署到机器人之前在仿真中验证应用程序可以通过尽早发现潜在问题来缩短迭代时间。通过模拟,还可以更轻松地测试在现实世界中可能过于危险的…

优酷动漫顶梁柱!神话大乱炖的修仙番为何火爆?

优酷动漫新晋顶梁柱,实时超160万在追的修仙番长啥样? 由优酷动漫联合玄机科技打造的《师兄啊师兄》俨然成为了国漫界一颗璀璨的新星。自去年开播以来热度口碑双丰收,今年在播的第二季人气更是节节攀升,稳坐优酷动漫榜第一把交椅。…