spiderkeeper是一款开源的spider管理工具,可以方便的进行爬虫的启动,暂停,定时,同时可以查看分布式情况下所有爬虫日志,查看爬虫执行情况等功能。
#安装
安装环境
centos / ubuntu16.04(我的是centos7)
python3.5
pip3 install scrapy
pip3 install scrapyd
pip3 install scrapyd-client
pip3 install scrapy-redis
pip3 install SpiderKeeper
部署爬虫
1、进入到写好的scrapy项目路径中,启动scrapyd (这里我进的是settings同级路径下)
运行: scrapyd
启动之后就可以打开本地运行的scrapyd,浏览器中访问本地6800端口可以查看scrapyd的监控界面
服务器的话访问地址为 公网地址:6800 (拒绝访问就要修改scrapyd的配置文件,这里可以找到配置文件,看到网上有自己手动创建配置文件,不推荐,命令:find -name default_scrapyd.conf,vim进入,修改11行 为:bind_address = 0.0.0.0)
启动成功显示如下:
启动SpiderKeeper
window启动需要输入账号密码,均为admin
命令:spiderkeeper
成功启动显示如下:
访问公网地址:5000可以看到如下界面:
打包项目,部署到scrapyd上
配置需要部署的项目
编辑需要部署的项目的scrapy.cfg文件(需要将哪一个爬虫部署到scrapyd中,就配置该项目的该文件)
[deploy:部署名(部署名可以自行定义)]
url = http://127.0.0.1:6800/ (这里的地址也需要改成自己的公网地址:6800)
project = 项目名(创建爬虫项目时使用的名称)
部署项目到scrapyd
同样在scrapy项目路径下执行 (我这里用的还是settings同级)
scrapyd-deploy 部署名 -p 项目名称 (部署名和项目名称要和scrapy.cfg里面定义的一致)
例如:
部署项目到spiderkeeper上
首先在项目路径中“生蛋” (我这里用的还是settings同级)
命令:scrapyd-deploy --build-egg output.egg
然后打开spiderkeeper的页面,点击deploy,点击create project创建新项目
点击选择文件
,上传之前创建的.egg文件
output.egg
到这里就应该部署完成了,如果中间出错的话,应该就是路径有问题
spiderkeeper 的使用
点击 Periodic jobs
点击 Add Job 添加脚本,添加定时任务
Dashboard
主界面,可以查看所有爬虫(暂停的,未启动的,运行中的)的情况,如果要运行爬虫可以点击该页面右上角的runonce
可以手动运行你需要的脚本。
其他的功能可以自己研究一下。
定时任务
如果想要开启定时任务来实现长期爬取的话,可以引用supervisor来定时开启 scrapyd 和 spiderkeeper,过程是和定时爬虫的脚本是一样的,当然也可以用 crontab 来定时开启 scrapyd 和 spiderkeeper。推荐supervisor,会自动重启连接断掉的任务。关于supervisor的使用,主页有介绍。