scrapy可视化管理工具spiderkeeper使用笔记
http://www.scrapyd.cn/doc/156.html 入门中文教程
spiderkeeper是一款开源的spider管理工具,可以方便的进行爬虫的启动,暂停,定时,同时可以查看分布式情况下所有爬虫日志,查看爬虫执行情况等功能。
安装
安装环境 
ubuntu16.04 
python3.5 
pip3 install scrapy 
pip3 install scrapyd 
pip3 install scrapyd-client 
pip3 install scrapy-redis 
pip3 install SpiderKeeper
部署爬虫
1 进入到写好的scrapy项目路径中,启动scrapyd
python@ubuntu:~$ scrapyd
1
启动之后就可以打开本地运行的scrapyd,浏览器中访问本地6800端口可以查看scrapyd的监控界面
启动成功显示如下:
:0: UserWarning: You do not have a working installation of the service_identity module: 'cannot import name 'opentype''.  Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied.  Without the service_identity module, Twisted can perform only rudimentary TLS client hostname verification.  Many valid certificate/hostname mappings may be rejected.
2018-08-18T18:55:20+0800 [-] Loading /usr/local/lib/python3.5/dist-packages/scrapyd/txapp.py...
2018-08-18T18:55:20+0800 [-] Scrapyd web console available at http://127.0.0.1:6800/
2018-08-18T18:55:20+0800 [-] Loaded.
2018-08-18T18:55:20+0800 [twisted.scripts._twistd_unix.UnixAppLogger#info] twistd 18.7.0 (/usr/bin/python3 3.5.2) starting up.
2018-08-18T18:55:20+0800 [twisted.scripts._twistd_unix.UnixAppLogger#info] reactor class: twisted.internet.epollreactor.EPollReactor.
2018-08-18T18:55:20+0800 [-] Site starting on 6800
2018-08-18T18:55:20+0800 [twisted.web.server.Site#info] Starting factory <twisted.web.server.Site object at 0x7fc859cc7f28>
2018-08-18T18:55:20+0800 [Launcher] Scrapyd 1.2.0 started: max_proc=8, runner='scrapyd.runner'
2018-08-18T18:55:21+0800 [twisted.python.log#info] "127.0.0.1" - - [18/Aug/2018:10:55:20 +0000] "GET /listjobs.json?project=dangdang HTTP/1.1" 200 86 "-" "python-requests/2.13.0"
2018-08-18T18:55:28+0800 [twisted.python.log#info] "127.0.0.1" - - [18/Aug/2018:10:55:25 +0000] "GET /listspiders.json?project=dangdang HTTP/1.1" 200 71 "-" "python-requests/2.13.0"
2018-08-18T18:55:28+0800 [twisted.python.log#info] "127.0.0.1" - - [18/Aug/2018:10:55:28 +0000] "GET /listjobs.json?project=dangdang HTTP/1.1" 200 86 "-" "python-requests/2.13.0"
·····
1
2
3
4
5
6
7
8
9
10
11
12
13
2 启动SpiderKeeper
python@ubuntu:~$ spiderkeeper
1
成功启动显示如下:
/usr/local/lib/python3.5/dist-packages/flask_restful_swagger/swagger.py:14: ExtDeprecationWarning: Importing flask.ext.restful is deprecated, use flask_restful instead.
  from flask.ext.restful import Resource, fields
--------------------------------------------------------------------------------
INFO in run [/usr/local/lib/python3.5/dist-packages/SpiderKeeper/run.py:22]:
SpiderKeeper startd on 0.0.0.0:5000 username:admin/password:admin with scrapyd servers:http://localhost:6800
--------------------------------------------------------------------------------
2018-08-18 18:57:14,205 - SpiderKeeper.app - INFO - SpiderKeeper startd on 0.0.0.0:5000 username:admin/password:admin with scrapyd servers:http://localhost:6800
1
2
3
4
5
6
7
访问localhost:5000可以看到如下界面
3 打包项目,部署到scrapyd上
3.1 配置需要部署的项目
编辑需要部署的项目的scrapy.cfg文件(需要将哪一个爬虫部署到scrapyd中,就配置该项目的该文件)
[deploy:部署名(部署名可以自行定义)] 
url = http://127.0.0.1:6800/ 
project = 项目名(创建爬虫项目时使用的名称)
3.2 部署项目到scrapyd
同样在scrapy项目路径下执行 
scrapyd-delopy 部署名 -p 项目名称 
例如:
python@ubuntu:~/Desktop/dangdang$ scrapyd-deploy book -p dangdang
Packing version 1534588377
Deploying to project "dangdang" in http://127.0.0.1:6800/addversion.json
Server response (200):
{"node_name": "ubuntu", "project": "dangdang", "version": "1534588377", "status": "ok", "spiders": 2}
1
2
3
4
5
6
4 部署项目到spiderkeeper上
首先在项目路径中“生蛋”
scrapyd-deploy --build-egg output.egg
1
然后打开spiderkeeper的页面,点击delopy,点击create project创建新项目book
点击选择文件,上传之前创建的.egg文件
之后,部署就完成了!
5 spiderkeeper 的使用
spiderkeeper的功能都罗列在左边的菜单栏中,如上
Dashboard
主界面,可以查看所有爬虫(暂停的,未启动的,运行中的)的情况,如果要运行爬虫可以点击该页面右上角的runonce 
显示如下:
可以选择要执行的爬虫,设置ip池(没有实际用过,都是用自己写的代理池),选择在哪个服务器运行 
创建之后会显示在运行栏
可以点击log查看日志,也可以直接停止
Periodic Jobs
定时任务,点击右上角的addjobs后可以添加任务,除了之前有的选项之后还可以设置每个月/每星期/每天/每小时/每分钟 的定时爬虫
Running Stats
查看爬虫的运行情况
只能显示时间段爬虫的存活情况
Manage
如果要删除任务可以在这里删除
6 总结
这算是一款不错的开源爬虫可视化软件,对于爬虫的管理算是做到了美观而且简单。但是对于爬虫的爬取情况需要通过日志查看,也就是想要知道详细情况还需要自己写好日志的记录。
--------------------- 
作者:无敌的白金之星 
来源:CSDN 
原文:https://blog.csdn.net/m0_38106113/article/details/81812135 
版权声明:本文为博主原创文章,转载请附上博文链接!
scrapy可视化管理工具spiderkeeper使用笔记的更多相关文章
- Scrapy可视化管理软件SpiderKeeper
		
通常开发好的Scrapy爬虫部署到服务器上,要不使用nohup命令,要不使用scrapyd.如果使用nohup命令的话,爬虫挂掉了,你可能还不知道,你还得上服务器上查或者做额外的邮件通知操作.如果使用 ...
 - 安装window下的redis,redis可视化管理工具(Redis Desktop Manager)安装,基础使用,实例化项目
		
以下包括内容: 一.redis下载安装,启动 二.Redis可视化管理工具(Redis Desktop Manager)安装 三.实例化项目 一.redis下载安装,启动 1,redis官方下载地址: ...
 - Ubuntu下的MongoDB GUI 可视化管理工具
		
目录 1 Robo 3T 2 NoSQLBooster for MongoDB(收费) 3 JetBrains Plugin Repository :: Mongo Plugin Ubuntu下的Mo ...
 - MongoDB 生态 – 可视化管理工具
		
工欲善其事,必先利其器,我们在使用数据库时,通常需要各种工具的支持来提高效率:很多新用户在刚接触 MongoDB 时,遇到的问题是『不知道有哪些现成的工具可以使用』,本系列文章将主要介绍 MongoD ...
 - docker学习(三) 安装docker的web可视化管理工具
		
1.docker是一个一款很轻便的应用容器引擎,为了更好的管理和使用docker,使用web可视化管理工具似乎更符合大多数人的需求.在这里,我给大家分享下自己使用过的几款web工具:docker UI ...
 - Docker可视化管理工具对比(DockerUI、Shipyard、Rancher、Portainer)
		
1.前言 谈及docker,避免不了需要熟练的记住好多命令及其用法,对于熟悉shell.技术开发人员而言,还是可以接受的,熟练之后,命令行毕竟是很方便的,便于操作及脚本化.但对于命令行过敏.非技术人员 ...
 - MongoDB 可视化管理工具
		
MongoDB 可视化管理工具 (2011年10月-至今) 正文 该项目从2011年10月开始开发,知道现在已经有整整5年了.MongoDB也从一开始的大红大紫到现在趋于平淡.MongoCola这 ...
 - docker--docker 的web可视化管理工具
		
12 docker 的web可视化管理工具 12.1 常用工具介绍 当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越 重要. Docker的图形化管理工具,提供状 ...
 - MongoDB的php可视化管理工具
		
使用MongoDB命令查看很不方便 于是想把爬来的数据导出来,看爬来的数据是否正确 打开cmd,执行 mongoexport -d test -c blogs --csv -f title,link, ...
 
随机推荐
- bzoj 2553: [BeiJing2011]禁忌 AC自动机+矩阵乘法
			
题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=2553 题解: 利用AC自动机的dp求出所有的转移 然后将所有的转移储存到矩阵中,进行矩阵 ...
 - [转]PNG8和PNG24的区别
			
首先我们要知道: 1.png8和png24的根本区别,不是颜色位的区别,而是存储方式不同. 2.png8有1位的布尔透明通道(要么完全透明,要么完全不透明),png24则有8位(256阶)的布尔透明通 ...
 - rsync 介绍和参数说明
			
Rsync 介绍: 我们经常需要在不同目录或者服务器之间做文件同步和更新,Linux提供了很多内置命令可以使用比如scp等等,但是今天我们介绍一个更加强大的工具rsync.rsync 命令是一个远程同 ...
 - HDOJ1114(完全背包)
			
#include<cstdio> #include<algorithm> #include<cstring> using namespace std; const ...
 - linux日常管理-rsync后台服务方式-1
			
rsync的另外一种方式,写一个配置文件,放在etc下,通过一个命令启动他,它会监听一个端口,在客户端和服务端进行通信. 远程机器的配置文件 IP是192.168.1.117 配置文件的名字,写成这个 ...
 - hibernate.PropertyAccessException: Null value was assigned to a property of primitive type
			
日志: [WARN-2016/07/26/18/:45/:52]ProcessEngineServiceImpl.(257) - 审批流程log日志--submitProcess方法:提交人userI ...
 - python fabric的安装与使用
			
背景:fabric主要执行远程的shell命令,包括文件的上传.下载,以及提示用户输入等辅助其它功能. 测试系统:ubuntu16 要求:python //系统有自带,ubuntu16 通常自带pyt ...
 - 微信小程序--录制音频,播放音频
			
1.在pages创建一个main文件夹2.在main文件夹下创建一个miain.js文件.添加代码: const constant = require('../../utils/constant.js ...
 - 截止JDK1.8版本,java并发框架支持锁包括?
			
读写锁 自旋锁 乐观锁
 - C#中的new修饰符说明
			
new修饰符主要是用来隐藏从基类继承的成员. 这句话怎么理解呢,就是说有一个类,它有一个继承类,继承类中存在和基类中一样名称的成员(属性,方法等). 对继承类中的该成员使用new修饰符时,调用时将会隐 ...