教你进行超简单的scrapy可视化部署!!利用Spiderkee
本文章主要记录在spiderkeeper中部署scrapy的整个过程,方便自己以后回看。
最近发现了一个可以部署scrapy项目的可视化的工具。
spiderkeeper的特征:
- 从仪表板管理蜘蛛。安排它们自动运行
- 只需单击一下即可部署scrapy项目
- 显示蜘蛛运行统计
- 提供API
看起来就很诱人,(其实主要还是看中它用起来简单)下面开始讲解本次文章的主题spiderkeeper。
1.环境
首先是安装模块,这里建议使用国内源,无它,三秒罢。
eg:pip install scrapy -i https://pypi.douban.com/simple
pip install scrapy
pip install scrapyd # scrapyd服务
pip install scrapyd-client # scrapyd0client 客户端
pip install spiderkeeper # scrapy可视化部署工具
安装好模块后,下边来看具体配置。
2.配置
本文章主要说的是spiderkeeper--爬虫监控,spiderkeeper的Github链接,点击即达。
2.1 启动scrapyd服务
何为scrapyd?scrapyd文档地址,点击即达。
翻译过来就是:
Scrapyd是用于部署和运行Scrapy蜘蛛的应用程序。它使您可以使用JSON API部署(上传)项目并控制其蜘蛛。
咳咳,走错片场了,本文章主要介绍的不是scrapyd,那就在这里浅尝辄止。
- 首先需要在命令行输入scrapyd。即启动scrapyd服务。(这里用的是Windows系统)
C:\>scrapyd # scrapyd服务的默认路径为 http://localhost:6800
- 浏览器访问http://localhost:6800 ,默认访问地址(可更改),如下图所示:
2.2 查看spiderkeeper用法
来看看在作者在github上对spiderkeeper的介绍。
2.2.1 部署方式
- 在命令行输入spiderkeeper即可启动本机服务器,默认启动端口为6800的scrapyd服务。(scrapyd需提前启动)
C:\>spiderkeeper # 等同 spiderkeeper --server=http://127.0.0.1:6800
- 亦可手动指定多个服务器。如下:
C:\>spiderkeeper --server=http://127.0.0.1:6800 --server=http://192.168.1.1:5000
- 运行上述命令后,浏览器访问127.0.0.1:5000 #默认端口为5000,出现下面的spiderkeeper的登录页面,# 默认账号密码皆为admin。
登录之后会来到下图,这已经快要接近我们的结果了。但是现在还不可以操作它,因为还没有将scrapy项目部署到上面来,继续往下看。
2.2.2 生蛋(用法)
这里主要是生蛋(生成.egg文件),在scrapy项目下执行命令scrapyd-deploy --build-egg output.egg。
C:\>scrapyd-deploy --build-egg output.egg
生蛋成功
执行以上命令后,在当前目录文件下会生成output.egg文件。
2.2.3 有可能出现的错误
'scrapyd-deploy' 不是内部或外部命令,也不是可运行的程序或批处理文件
2.2.3.1 解决报错
在你的python运行环境下的Scripts文件夹下创建两个文件。scrapy.bat 和 scrapyd-deploy.bat。
eg:我的python运行环境为F:\Anaconda\python
scrapy.bat 里边填写该内容(路径替换成你自己的python运行环境)
@echo off
F:\Anaconda\python F:\Anaconda\Scripts\scrapy %*
scrapyd-deploy.bat 里边填写该内容(路径替换成你自己的python运行环境)
@echo off
F:\Anaconda\python F:\Anaconda\Scripts\scrapyd-deploy %*
2.2.3.2 测试成功与否
在命令行输入scrapyd-deploy -h。
scrapyd-deploy -h
如下图所示,即成功。
3. 部署
Step 1. 访问http://127.0.0.1:5000。
首先在spiderkeeper上面添加一个项目,因为这里是写博客用,所以我命名为bolg_test。
接着点击Deploy,将上面生成的output.egg文件上传。
Step 2. 设置单次执行任务
在Dashboard面板,点击右上角的Runonce,即可设置单次执行任务。
Step 3. 设置定时任务
若scrapy项目中有多个spider文件,可以选择具体spider,设置优先级等。
Step 4. 查看任务状态
这里可以看到任务的状态,执行完成的任务还可以点击Log,去查看该任务的日志消息。
Step 5. 查看任务运行时间状态
4.后面的话
在整个部署过程中的环境配置搭配可能会出现一些小磕碰,但是问题不大。都可以通过百度解决出现的问题。
spiderkeeper非常适合部署scrapy进行定时任务,也是scrapy的非常优秀的可视化工具。
好了,本次的分享就到这里,有任何问题欢迎留言哦。