基于Gerapy部署分布式爬虫管理平台


Gerapy是一个Python的分布式爬虫部署框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 开发,用于方便地管理和部署爬虫项目。它提供了一套完整的工具和接口,帮助用户管理爬虫的配置、调度、监控和部署。

以下是Gerapy爬虫部署框架的主要特点和功能:

  1. 分布式架构:Gerapy基于Scrapy框架,并引入了分布式的概念。它支持将爬虫任务分配给多台机器并行执行,提高爬取效率和速度。

  2. Web界面管理:Gerapy提供了一个基于Web的管理界面,可以方便地创建、编辑和管理爬虫项目。用户可以通过浏览器访问管理界面,对爬虫进行配置和监控。

  3. 项目管理:Gerapy允许用户创建多个爬虫项目,并提供了项目管理功能。用户可以在管理界面中创建、导入和删除爬虫项目,以及管理项目的配置文件和依赖。

  4. 调度管理:Gerapy提供了灵活的调度管理功能。用户可以设置爬虫的运行时间、优先级和并发数等参数,以及配置定时任务,自动执行爬虫。

  5. 日志和监控:Gerapy提供了实时的日志和监控功能,用户可以通过管理界面查看爬虫的运行状态、日志输出和错误信息,便于调试和监控爬取过程。

  6. 部署和扩展:Gerapy支持将爬虫项目部署到多台机器上,并提供了方便的部署工具。它还支持分布式扩展,用户可以根据需要增加爬虫节点,实现高并发的爬取任务。

  7. API接口:Gerapy提供了丰富的API接口,用户可以通过编程方式管理和控制爬虫项目,例如启动、停止和修改爬虫任务等操作。

总的来说,Gerapy是一个功能强大的爬虫部署框架,它简化了爬虫项目的管理和部署过程,提高了爬取效率和可扩展性,使用户可以更加方便地开发和运行分布式爬虫项目。

1. 服务器安装scrapyd

1.1 scrapyd安装

pip3 install scrapyd

1.2 scrapyd配置允许外网访问

mkdir /etc/scrapyd

vim /etc/scrapyd/scrapyd.conf

写入

[scrapyd]
eggs_dir    = eggs
logs_dir    = logs
items_dir   =
jobs_to_keep = 5
dbs_dir     = dbs
max_proc    = 0
max_proc_per_cpu = 4
finished_to_keep = 100
poll_interval = 5.0
#bind_address = 127.0.0.1  
bind_address = 0.0.0.0
http_port   = 6800
debug       = off
runner      = scrapyd.runner
application = scrapyd.app.application
launcher    = scrapyd.launcher.Launcher
webroot     = scrapyd.website.Root

[services]
schedule.json     = scrapyd.webservice.Schedule
cancel.json       = scrapyd.webservice.Cancel
addversion.json   = scrapyd.webservice.AddVersion
listprojects.json = scrapyd.webservice.ListProjects
listversions.json = scrapyd.webservice.ListVersions
listspiders.json  = scrapyd.webservice.ListSpiders
delproject.json   = scrapyd.webservice.DeleteProject
delversion.json   = scrapyd.webservice.DeleteVersion
listjobs.json     = scrapyd.webservice.ListJobs
daemonstatus.json = scrapyd.webservice.DaemonStatus

主要是将bind_address = 127.0.0.1 改成 bind_address = 0.0.0.0

端口号默认6800 想要换端口好的话就改http_port

除了以上方法,此外也可以定位scrapyd.conf文件在你的python环境l修改

lib/python3.7/site-packages/scrapyd/scrapyd.conf(default_scrapyd.conf)

1.3 服务器安全组开启端口

比如我的scrapyd 默认端口是6800,那就在服务器后台开启安全组6800 端口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ywB1Cqd2-1689753408599)(爬虫平台搭建.assets/image-20230719140608743.png)]

1.4 服务器防火墙开启端口

 # 查看防火墙已经开启的端口号
 firewall-cmd --list-port
 # 指定开启6800端口
 firewall-cmd --zone=public --add-port=6800/tcp --permanent
 # 防火墙重载配置
 firewall-cmd --reload

经过以上步骤,scrapyd基本算配置完成了

1.5 scrapyd测试

启动命令输入scrapyd就行了

在这里插入图片描述

然后在本地浏览器访问 http://ip:6800/ (ip是你自己服务器的ip)

在这里插入图片描述

这样就算成功,那个bai是我测试百度的爬虫,不用理会。

后面确定没问题了可以直接用nohup让它在后台运行:

nohup scrapyd > /dev/null 2>&1 &

scrapyd 环境搭好之后,就可以开始搭gerapy了

2. Gerapy 环境搭建

2.1 gerapy安装

 pip3 install gerapy

2.2 gerapy测试

服务器控制台输入gerapy,会看到以下几个帮助参数

在这里插入图片描述

第一步我们可以先创建一个文件夹,用于存放我们的gerapy项目,我这里命名gerapy_pro

mkdir gerapy_pro

第二步执行

gerapy init

第三步执行

gerapy migrate

此时我们的文件夹就已经有这些东西了

在这里插入图片描述

cd gerapy 看看

在这里插入图片描述

projects里就是我们要放scrapy 项目的地方

第四步 创建超级管理员用于登录

执行

gerapy createsuperuser

输入用户名 邮箱 密码两次 就可以了

在最后一步启动之前,我们也要像scrapyd一样给gerapy 安全组开放端口 ,默认端口8000

然后开启防火墙端口

最后一步启动

gerapy runserver 0.0.0.0:8000

端口号在启动时可以改按上面的命名改

在这里插入图片描述
启动成功,然后在本地浏览器访问 http://ip:6800 (ip是你自己服务器的ip) 就可以看到以下界面

在这里插入图片描述

后面部署项目测试没问题了就可以让gerapy 后台运行了

nohup gerapy runserver 0.0.0.0:8000 > /dev/null 2>&1 &

2.3 项目部署

输入用户名 密码 点击登录 进入

第一步创建scrapyd主机:

点击主机管理 再点击右上角创建 即进入以下界面

在这里插入图片描述

名称随便起,ip就写部署scrapyd的服务器的ip 端口号就写scrapyd服务的端口号 scrapyd服务不设置端口就默认6800

然后点击创建就可成功创建主机(注意服务器scrapyd服务要开着才会成功)

以后爬虫项目都依赖此scrapyd主机运行

第二步上传项目打包与部署:

点击左侧的项目管理 再点击右上角的 创建 就可以上传scrapy项目了 ,这里支持zip和克隆形式

在这里插入图片描述
注意scrapy 项目需要改一下scrapy.cfg配置,如下:
在这里插入图片描述

我这里演示上传zip格式的文件,上传之后,在项目管理那里就会出现上传的项目

在这里插入图片描述

然后点击部署就会出现类型下面的界面,先点击打包(我这里打包过了所以显示重新打包),再点击部署,出现打包成功 部署成功 就算成功了

在这里插入图片描述

然后点击左侧的主机管理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bhM3cEMw-1689753408604)(爬虫平台搭建.assets/image-20230719150639341.png)]

点击调度就可以看到我们的scrapy 里写的几个spider 成功部署上去了

在这里插入图片描述

点击运行即可启动爬虫

在这里插入图片描述

点击停止即会停止爬虫

2.4 定时任务

当然gerapy也支持定时任务,点击左侧任务管理,右上角创建

在这里插入图片描述

起好名字,主机就是scrapyd主机,比如我下面选择Crontab调度方式:

在这里插入图片描述

然后点击更新就可以了,之后到时间了就会在主机管理 调度那里自动调度运行。

状态查看:
在这里插入图片描述

2.5 线上代码修改

在项目管理里选择要修改的项目,点击编辑

在这里插入图片描述

即可进入整个项目

在这里插入图片描述

修改完成后会自动保存,然后再重新打包、部署

在这里插入图片描述

这样修改即生效,可以到调度那里再运行测试。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Gerapy是一个开源的分布式爬虫任务管理平台,旨在帮助用户更高效地管理部署爬虫任务。Gerapy的特点有以下几个方面: 1. 分布式管理Gerapy采用了分布式架构,可以轻松地管理和监控多个爬虫节点。用户只需要在Gerapy中配置好爬虫任务,并分配到各个节点上,就可以实现统一的任务管理和监控。 2. 可视化管理Gerapy提供了友好的可视化管理界面,用户可以直观地查看任务运行情况、节点状态和日志信息。通过可视化界面,用户可以方便地管理和调整任务,提高开发效率。 3. 任务调度:Gerapy支持灵活的任务调度配置,包括定时任务和手动触发任务。用户可以根据实际需求设置任务的执行频率和时间,也可以手动触发任务进行调试。 4. 日志管理Gerapy提供了完善的日志管理功能,用户可以方便地查看和搜索每个节点的日志信息。同时,Gerapy还支持将日志导出到文件或数据库,方便用户进行后续分析和处理。 5. 用户权限管理Gerapy支持多用户多权限管理管理员可以根据需要为不同的用户设置不同的权限。这样可以更好地保护用户的隐私和数据安全。 总结来说,Gerapy是一个功能强大的分布式爬虫任务管理平台,通过其提供的可视化管理界面、灵活的任务调度配置、完善的日志管理功能和用户权限管理,用户可以更高效地管理部署爬虫任务,提高开发效率和任务运行效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰履踏青云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值