python爬虫(四):分布式爬虫管理平台(Gerapy、Crawlab、Scrapydweb和SpiderKeeper)

参考资料

前言

Gerapy、Crawlab、Scrapydweb和SpiderKeeper四大爬虫管理平台优缺点详见下表。

平台缺点优点推荐指数
Gerapy现版本bug较多UI 精美、节点管理、代码编辑、规则可配、持续优化★★★★
Crawlab部署麻烦、不支持配置规则UI 精美、不限语言及框架、数据统计、节点管理、爬虫管理、任务管理、定时任务★★★★
Scrapydweb仅支持scrapy、Flask性能差UI 精美、节点管理、代码编辑、规则可配、定时任务★★★
SpiderKeeper仅支持scrapy、不可分页、更新缓慢UI 界面、定时任务★★

1 Gerapy

Gerapyhttps://github.com/Gerapy/Gerapy

依赖版本
Django1.11.29(暂不支持1.x以上版本)
Scrapyd1.2.1

1.1 依赖获取

E:\Python\Scripts>pip install scrapyd -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

E:\Python\Scripts>pip install scrapyd-client -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

E:\Python\Scripts>pip install django==1.11.29 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

E:\Python\Scripts>pip install gerapy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

1.2 部署流程

1.2.1 Gerapy初始化

注: 初始化路径自定义

# 路径初始化
F:\test>gerapy init
Initialized workspace gerapy

# 数据库初始化
F:\test>cd gerapy
F:\test\gerapy>gerapy migrate

# 创建超级管理员,注:密码不得低于8位
F:\test\gerapy>gerapy createsuperuser

# 服务启动
F:\test\gerapy>gerapy runserver

# 退出服务
# ctrl + c

1.2.2 Scrapyd服务启动

注:若未配置环境变量,需要前往python安装目录下的scripts路径启动scrapyd

E:\Python\Scripts>scrapyd
2020-08-19T10:45:46+0800 [-] Loading e:\python\lib\site-packages\scrapyd\txapp.py...
2020-08-19T10:45:48+0800 [-] Scrapyd web console available at http://127.0.0.1:6800/
2020-08-19T10:45:48+0800 [-] Loaded.
2020-08-19T10:45:48+0800 [twisted.application.app.AppLogger#info] twistd 20.3.0 (e:\python\python.exe 3.6.6) starting up.
2020-08-19T10:45:48+0800 [twisted.application.app.AppLogger#info] reactor class: twisted.internet.selectreactor.SelectReactor.
2020-08-19T10:45:48+0800 [-] Site starting on 6800
2020-08-19T10:45:48+0800 [twisted.web.server.Site#info] Starting factory <twisted.web.server.Site object at 0x000001E7E9773E10>
2020-08-19T10:45:48+0800 [Launcher] Scrapyd 1.2.1 started: max_proc=32, runner='scrapyd.runner'

1.2.3 Gerapy平台管理

注:Gerapy主界面主机管理,必须添加Scrapyd 远程服务才能状态正常,因此,需要事先启动Scrapyd服务

在这里插入图片描述
在这里插入图片描述

(1)主机管理
在这里插入图片描述
在这里插入图片描述
(2)项目管理

  • 添加scrapy项目文件到gerapy/projects文件路径
    在这里插入图片描述
    在这里插入图片描述

  • 打包准备
    将scrapy项目scrapy.cfg文件作如下修改:
    在这里插入图片描述

  • 打包部署
    项目完成打包后,点击部署即可完成
    在这里插入图片描述

(3)任务管理

1.3 存在问题

(1)windows在Gerapy中进行项目部署时,项目打包失败?

问题分析:在所有部署流程无误情况下,如果linux可以正常运行,windows报错,考虑为文件错误

解决方法:参考使用gerapy部署scrapy爬虫项目 ,当项目打包失败后,可借助scrapy-client进行打包,具体可参考Python在Windows系统下基于Scrapyd部署爬虫项目(本地部署),最后,在主机管理中,直接点击调度即可运行。

在这里插入图片描述


(2)Gerapy调用Scrapyd api可将爬虫数据存储到数据库,无法完成本地文件存储(如csv、excel等),但Scrapy项目单独执行可生成?

问题分析:Scrapyd自身局限性导致

解决方法

未完待续。。。

2 Crawlab

2.1 依赖获取

2.2 部署流程

3 Scrapydweb

Scrapydwebhttps://github.com/my8100/scrapydweb

依赖版本
Flask1.0.2
Flask-SQLAlchemy2.4.4
Scrapyd1.2.1

3.1 依赖获取

E:\Python\Scripts>pip install scrapyd -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

E:\Python\Scripts>pip install scrapyd-client -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

E:\Python\Scripts>pip install scrapydweb -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

3.2 部署流程

3.2.1 Scrapydweb服务启动

开启两个DOS窗口,依次调起Scrapyd和Scrapydweb服务

在这里插入图片描述
在这里插入图片描述

最终效果如下图所示:
在这里插入图片描述

3.2.2 Scrapydweb平台管理

4 SpiderKeeper

4.1 依赖获取

4.2 部署流程

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值