Why,为什么需要爬虫管理平台?

以下摘自官方文档:

  Crawlab主要解决的是大量爬虫管理困难的问题,例如需要监控上百个网站的参杂scrapyselenium的项目不容易做到同时管理,而且命令行管理的成本非常高,还容易出错。

Crawlab支持任何语言和任何框架,配合任务调度、任务监控,很容易做到对成规模的爬虫项目进行有效监控管理。

  项目自 2019 年 3 月份上线以来受到爬虫爱好者们和开发者们的好评,超过一半的使用者表示已经在用 Crawlab 作为公司的爬虫管理平台。

经过近数月的迭代,陆续上线了 定时任务、数据分析、可配置爬虫、SDK、消息通知、Scrapy 支持、Git 同步等功能,

将Crawlab打造得更加实用,更加全面,能够真正帮助用户解决爬虫管理困难的问题。

以下是Crawlab的一些页面:

主页

爬虫列表页

爬虫文件编辑

定时任务

消息通知

----------------

真香,想起自己以前写的大大小小的的爬虫脚本。如果早些使用crawlab来管理说不定还是能发挥余热的。

抱着对定时任务、消息通知、数据分析等功能的期待。

开始了安装及使用之旅~

安装:

系统:阿里云centos7

这里使用最简单的安装方法,docker安装。

先用docker下载crawlab镜像:

docker pull tikazyq/crawlab:latest

关于docker常用命令及简介,这篇文章写的很全:

https://blog.csdn.net/javahelpyou/article/details/104587242

还需要安装docker-compose,在安装了python3 的前提下:

pip3 install docker-compose

安装后可执行docker-compose ps验证是否安装正常。

启动crawlab:

需要先找到docker-compose.yml文件所在文件夹,shell在根目录下执行:

find  -name "docker-compose.yml"

转到该文件夹直接执行:

docker-compose up

即可运行。

在浏览器中输入 http://localhost:8080就可以看到界面。

如果布置到了公网记得开放8080端口及重设密码。

这里mongodb及redis也是使用docker-compose一同安装管理。

所以建议您将数据库持久化,因为否则的话,一旦您的 Docker 容器发生意外导致关闭重启,您的数据将丢失。

至于数据持久化、mongodb及redis密码设置、数据库端口映射。等等修改配置文件docker-compose.yml即可。

可以到官方文档查看说明:

https://docs.crawlab.cn/Installation/Docker.html

使用测试:

以这个网站为例。

http://quotes.toscrape.com/

上面有一些名人名句,需要抓的是句子内容、作者及标签。

可配置爬虫(当然也能上传运行自定义的爬虫):

使用crawlab生成个可配置爬虫,即在web界面点几下就能生成一个爬虫。

添加爬虫后可在“配置”这里配置开始url,一些字段xpath及下一页的xpath

也可到“文件”进一步修改错漏的地方:

配置好后运行->查看结果

定时爬虫:

将上面设置的爬虫设置定时运行。

为了看清楚效用,设置了每分钟运行一次,它是基于linux下的crontab设置的定时任务

关于crontab的配置可参考:

https://blog.csdn.net/wade3015/article/details/90289751

ok,可以看到有在定时运行,没毛病~

感谢阅读,以上~

分布式爬虫管理平台Crawlab安装与使用的更多相关文章

  1. 使用Docker部署爬虫管理平台Crawlab

    当前目录创建 docker-compose.yml 文件 version: '3.3' services: master: image: tikazyq/crawlab:latest containe ...

  2. Crawlab Lite 正式发布,更轻量的爬虫管理平台

    Crawlab 是一款基于 Golang 的分布式爬虫管理平台,产品发布已经一年有余,经过开发团队的不断打磨,即将迭代到 v0.5 版本.在这期间我们为 Crawlab 加入了大量社区用户共同期望的功 ...

  3. 爬虫管理平台以及wordpress本地搭建

    爬虫管理平台以及wordpress本地搭建 学习目标: 各爬虫管理平台了解 scrapydweb gerapy crawlab 各爬虫管理平台的本地搭建 Windows下的wordpress搭建 爬虫 ...

  4. 分布式缓存管理平台XXL-CACHE

    <分布式缓存管理平台XXL-CACHE> 一.简介 1.1 概述 XXL-CACHE是一个分布式缓存管理平台,其核心设计目标是"让分布式缓存的接入和管理的更加的简洁和高效&quo ...

  5. 分布式逻辑管理平台XXL-GLUE

    <分布式逻辑管理平台XXL-GLUE>    一.简介 1.1 概述 XXL-GLUE 是一个分布式环境下的 "可执行逻辑单元" 管理平台, 学习简单,扩展JVM的动态 ...

  6. KVM管理平台openebula安装

    1.1opennebula控制台的安装 (如果要添加映像需要给200G以上给/var/lib/one,本文是共享/var/lib/one实现监控,用映像出创建虚拟机原理是从opennebula控制平台 ...

  7. 集中化管理平台Saltstack安装配置

    salt是一个异构平台基础设置管理工具(虽然我们通常只用在Linux上),使用轻量级的通讯器ZMQ,用Python写成的批量管理工具,完全开源,遵守Apache2协议,与Puppet,Chef功能类似 ...

  8. Dubbo-admin管理平台的安装

      1.到地址 https://github.com/alibaba/dubbo 下载dubbo源码  2.解压缩zip文件到 “ D:\技术资料\zookeeper\dubbo-master\dub ...

  9. KubeSphere企业级分布式多租户容器管理平台

    KubeSphere企业级分布式多租户容器管理平台 KubeSphere安装部署2.1.0DEV版本

随机推荐

  1. [LC] 22. Generate Parentheses

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...

  2. Hadoop_ssh免密认证出现的问题

    问题 network is unreachable 网络解决方法 看了大部分文章博客,发现都是说网关或者没ping好,我都试了,发现没用 我的解决方法 把虚拟机右上角的网络连接即可(我的是S开头的一个 ...

  3. Golang Middleware Part 1 · To Be A Better Man

    如何在Golang中实现中间件-Part 1 当使用net/http包实现服务的时候,一般使用的是如下的两中处理方式: http.HandleFunc http.Handle http.HandleF ...

  4. javascript常用知识汇总

    javascript这个语言庞大而复杂,我用了三年多了,还是皮毛都不会.从刚开始的jquery,到后来的es6,每天都在学习,每天都在忘记. 1.禁止手机虚拟键盘弹出 在开发适配手机的页面时,出现了这 ...

  5. JavaScript秒转换成天-小时-分钟-秒

    根据时间秒转换成天-小时-分钟-秒 // 秒转换成day.hour.minutes.seconds formatSecond(second: number) { const days = Math.f ...

  6. JDBC之BaseDao类

    package com.it.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prep ...

  7. btrace简单使用

    基本安装 在github上btrace项目的release下 下载最新的btracehttps://github.com/btraceio/btrace/releases 解压完后,将btrace的b ...

  8. SVN图标含义说明

    最经都在用Svn,对他上面的很多状态图标不是很理解,看了看它的帮助文档,说的很清楚,特地截张图.    Svn不同状态图标及说明 - 简单 - 简单  Normal  A fresh checked ...

  9. python——实现三级菜单选择的功能(原创)

    #coding:utf-8 dict={'beijing':{'haidingqu':['qinghe','keji'],'chaoyangqu':['q','w']},'shandong':{'li ...

  10. 6. Go 语言中结构体的使用

    1. 结构体的定义格式 在go语言中结果的定义格式如下: 123 type structName struct { filedList} 列子如下: 1234 type Person struct { ...