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

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

相关文章

Naive UI n-data-table 分页试用

版本 “naive-ui”: “^2.37.3”, “ts-node”: “^10.9.2”, “typescript”: “~4.5.4”, “vue”: “^3.4.14” 官方示例 https://www.naiveui.com/zh-CN/os-theme/components/data-table#ajax-usage <template #2><!-- 展示信息 --><n-data-tableremote:col…

【flatbuffers】vs2022构建及Qt工程测试

cmake 生成,直接构建 debug或者release参考大神的例子release 构建 Build started at 17:44... 1>------ Build started: Project: flattests_cpp17, Configuration: Release Win32 ------ 2>------ Build started: Project: flathash, Configuration: Release Win32 --…

【C】leetcode力扣—— 141. 环形链表Ⅰ

目录 141. 环形链表 Ⅰ题目解题思路分析暴力求解&#xff1f;&#xff1f;快慢指针 代码 141. 环形链表 Ⅰ 题目链接: https://leetcode.cn/problems/linked-list-cycle/description/ 题目 题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某…

E-魔法猫咪(遇到过的题,做个笔记)

题解&#xff1a; 来自学长们思路&#xff1a; 其中一种正解是写单调队列。限制队列内的数单调递增&#xff0c;方法为每当新来的数据比当前队尾数据小时队 尾出列&#xff0c;直到能够插入当前值&#xff0c;这保证了队头永远是最小值。因此总体思路是队尾不断插入新值的同时 …

openlayers 入门教程(九):overlay 篇

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

Spring框架提供三个核心服务

1. IOC&#xff1a;控制反转服务 由“Spring容器对象”完成指定类的实例对象的创建 2. DI&#xff1a;依赖注入 由“Spring容器对象”完成指定对象的初始化的服务 3. AOP:面向切面编程 降低开发人员使用代理设计模式难度&#xff0c;开发人员只需要专注于切面类的开发即可…

vue-cli打包 nodejs内存溢出 vue2.x Last few GCs

遇到这种情况百度各种博客&#xff0c;什么改package.json里的配置&#xff0c;什么安装increase-memory-limit &#xff0c;都尝试了并没什么用处&#xff0c;最后解决方案为执行下方名单&#xff0c;再次打包就成功了&#xff1a; export NODE_OPTIONS--max_old_space_size4…

android 内存优化

什么是内存泄漏? 如果一个无用对象&#xff08;不需要再使用的对象&#xff09;仍然被其他对象持有引用&#xff0c;造成该对象无法被系统回收&#xff0c;以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费&#xff0c;这中情况就是内存泄漏。 在Android开发中…

单元测试 mockito(二)

1.返回指定值 2.void返回值指定插桩 3.插桩的两种方式 when(obj.someMethod()).thenXxx():其中obj可以是mock对象 doXxx().wien(obj).someMethod():其中obj可以是mock/spy对象 spy对象在没有插桩时是调用真实方法的,写在when中会导致先执行一次原方法,达不到mock的目的&#x…

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

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

Python | Leetcode Python题解之第10题正则表达式匹配

题目&#xff1a; 题解&#xff1a; class Solution:def isMatch(self, s: str, p: str) -> bool:m, n len(s), len(p)dp [False] * (n1)# 初始化dp[0] Truefor j in range(1, n1):if p[j-1] *:dp[j] dp[j-2]# 状态更新for i in range(1, m1):dp2 [False] * (n1) …

专升本--python运算符总结

运算优先级 同一个等级是没有先后顺序的&#xff0c;此外&#xff0c;赋值语言的先后问题&#xff1a; 赋值的顺序从上往下&#xff0c;同一行一般都是代表同时进行赋值&#xff0c;如图所示&#xff1a; 一.and A and B&#xff0c;若A,B有任意一个为假&#xff08;0&#x…

希尔排序和快排里的小区间优化

希尔排序 希尔排序是插入排序的优化。 当一串数是逆序时&#xff0c;那么每插入一个数&#xff0c;前面的数都会向后面挪动。 那么这是插入排序的时间复杂度&#xff0c;就会达到O(n^2) 希尔排序是对数组里的数进行预排序。 防止插入排序出现最坏的情况。 预排序&#xf…

代码随想录-图论

797.所有可能的路径&#xff1a; . - 力扣&#xff08;LeetCode&#xff09; class Solution {List<List<Integer>> ansnew LinkedList<>();List<Integer> listnew LinkedList<>();public List<List<Integer>> allPathsSourceTarg…

ABC318 F - Octopus

解题思路 对于每个宝藏维护个区间&#xff0c;答案一定在这些区间中对于每个区间的端点由小到大排序对于每个点进行判断&#xff0c;若当前位置合法&#xff0c;则该点一定为一个右端点则该点到前一个端点之间均为合法点若前一个点不合法&#xff0c;则一定是某一个区间限制的…

Vue3:使用Pinia存储、读取、修改数据

一、存储数据 Pinia插件中&#xff0c;存储数据的配置项是state count.ts import {defineStore} from piniaexport const useCountStore defineStore(count,{// 真正存储数据的地方state(){return {sum:6}} })loveTalk.ts import {defineStore} from piniaexport const use…

Xen Server 8 Install

Xen Sevrer 前言 XenServer&#xff08;以前称为 Citrix Hypervisor&#xff09;是业界领先的平台&#xff0c;实现了经济高效的桌面、服务器和云虚拟化基础结构。XenServer 支持任意规模或类型的组织整合计算资源&#xff0c;以及将计算资源转换为虚拟工作负载&#xff0c;从…

RESTful API说明

RESTful API&#xff08;Representational State Transfer&#xff09;是一种用于设计网络应用程序的架构风格。它基于 HTTP 协议&#xff0c;通过使用统一的资源标识符&#xff08;URL&#xff09;来访问和操作资源。 RESTful API 的设计原则包括&#xff1a; 资源标识符&am…

SpringBoot2升级到SpringBoot3总结

最近公司在做监控日志平台的迁移&#xff0c;从NewRelic迁移到Dynatrace&#xff0c;为了配合迁移&#xff0c;有一个前提就是把SpringBoot2升级到SpringBoot3。 我们这边的项目大多数都是KotlinSpringBoot2.X的技术栈&#xff0c;现在要全部升级到最新的SpringBoot3.2.2或者S…

c++协程详解(二)

前言 这是c协程实现第二篇&#xff0c;这里开始我们将开始真正意义上开始实现协程。对协程基础流程不清楚的&#xff0c;可以看我的第一篇。 后续可能需要一定的模板知识&#xff0c;可以看下我的模板的文章&#xff0c;那些知识就完全够用了。本篇将实现一个协程封装的异步任…