参考资料
- 如何快速搭建实用的爬虫管理平台
- 跟繁琐的命令行说拜拜!Gerapy分布式爬虫管理框架来袭!
Gerapy、Crawlab、Scrapydweb和SpiderKeeper四大爬虫管理平台优缺点详见下表。
平台 | 缺点 | 优点 | 推荐指数 |
---|---|---|---|
Gerapy | 现版本bug较多 | UI 精美、节点管理、代码编辑、规则可配、持续优化 | ★★★★ |
Crawlab | 部署麻烦、不支持配置规则 | UI 精美、不限语言及框架、数据统计、节点管理、爬虫管理、任务管理、定时任务 | ★★★★ |
Scrapydweb | 仅支持scrapy、Flask性能差 | UI 精美、节点管理、代码编辑、规则可配、定时任务 | ★★★ |
SpiderKeeper | 仅支持scrapy、不可分页、更新缓慢 | UI 界面、定时任务 | ★★ |
Gerapy:https://github.com/Gerapy/Gerapy
依赖 | 版本 |
---|---|
Django | 1.11.29(暂不支持1.x以上版本) |
Scrapyd | 1.2.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
注: 初始化路径自定义
# 路径初始化
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
注:若未配置环境变量,需要前往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
2020-08-19T10:45:48+0800 [Launcher] Scrapyd 1.2.1 started: max_proc=32, runner='scrapyd.runner'
注:Gerapy主界面主机管理,必须添加Scrapyd 远程服务才能状态正常,因此,需要事先启动Scrapyd服务
(3)任务管理
(1)windows在Gerapy中进行项目部署时,项目打包失败?
问题分析:在所有部署流程无误情况下,如果linux可以正常运行,windows报错,考虑为文件错误
解决方法:参考使用gerapy部署scrapy爬虫项目 ,当项目打包失败后,可借助scrapy-client进行打包,具体可参考Python在Windows系统下基于Scrapyd部署爬虫项目(本地部署),最后,在主机管理中,直接点击调度即可运行。
(2)Gerapy调用Scrapyd api可将爬虫数据存储到数据库,无法完成本地文件存储(如csv、excel等),但Scrapy项目单独执行可生成?
问题分析:Scrapyd自身局限性导致
解决方法:
未完待续。。。
Scrapydweb:https://github.com/my8100/scrapydweb
依赖 | 版本 |
---|---|
Flask | 1.0.2 |
Flask-SQLAlchemy | 2.4.4 |
Scrapyd | 1.2.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
开启两个DOS窗口,依次调起Scrapyd和Scrapydweb服务