Scrapy之分布式爬虫管理框架Gerapy

1,159 阅读3分钟

Gerapy

概述

Gerapy 是一个基于Scrapy框架的分布式爬虫管理平台,为开发者提供便捷的方式来创建、部署和监控爬虫项目。

Gerapy提供了友好的Web界面,可以帮助用户快速构建分布式爬虫集群,并具有高效稳定的爬虫性能,轻松管理多个爬虫并监控它们的运行状态。

Gerapy的主要特性:

  1. Web界面管理:通过 Web 界面方便地管理和监控爬虫项目,可视化展示爬取数据和日志。
  2. 分布式部署:支持将爬虫项目部署到多台服务器上,实现分布式爬取,提高爬取效率。
  3. 定时任务:支持设置定时任务,定期运行爬虫程序,自动获取最新数据。
  4. 爬虫项目管理:提供统一的界面管理爬虫项目,包括配置、部署、启动、停止等操作。
  5. 日志管理:记录爬虫项目的运行日志,方便用户查看和分析爬取过程。
  6. 支持多平台:Gerapy支持Python 3.5及以上版本,可以运行在Linux、Windows和MacOS系统上。
  7. 二次开发:Gerapy还提供了RESTful API和CLI命令行接口,方便用户进行二次开发和集成。

安装

pip install gerapy

源代码安装

git clone https://github.com/Gerapy/Gerapy.git
cd Gerapy
python setup.py install

验证gerapy是否安装成功

(scrapy) D:\WorkSpace\Python\scrapy_project>gerapy
Usage: gerapy.exe [-v] [-h]  ...

Gerapy 0.9.11 - Distributed Crawler Management Framework

Gerapy配置启动

新建一个项目

在命令行执行如下命令创建一个Gerapy项目

gerapy init

会在当前目录下生成一个gerapy文件夹 在这里插入图片描述

数据库初始化

进入gerapy目录,对数据库进行初始化

>gerapy migrate

Operations to perform:
  Apply all migrations: admin, auth, authtoken, contenttypes, core, django_apscheduler, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  ...................................................................

对数据库初始化之后会生成一个SQLite数据库,数据库保存主机配置信息和部署版本等

在这里插入图片描述

启动gerapy服务

执行如下命令启动Gerapy服务

>gerapy runserver

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
INFO - 2023-03-05 23:43:45,950 - process: 32616 - scheduler.py - gerapy.server.core.scheduler - 105 - scheduler - successfully synced task with jobs with force
March 05, 2023 - 23:43:45
Django version 2.2.28, using settings 'gerapy.server.server.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

浏览器访问http://127.0.0.1:8000 在这里插入图片描述

创建超级用户

>gerapy>gerapy createsuperuser
Username (leave blank to use 'Administrator'): admin
Email address: admin@qq.com
Password:
Password (again):
The password is too similar to the email address.
This password is too short. It must contain at least 8 characters.
This password is too common.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

输入上面创建的账号与密码进入Gerapy管理界面

在这里插入图片描述

Gerapy配置管理Scrapy项目

主机管理

在主机管理界面创建一个主机 在这里插入图片描述 指定Scrapy项目部署主机的名称、 IP、端口来创建一个 主机 在这里插入图片描述 点击创建即可完成添加

在这里插入图片描述 点击调度,进入爬虫列表。 在这里插入图片描述 点击运行,即可启动爬虫。 在这里插入图片描述

项目管理

将scarpy项目直接放到爬虫管理框架Gerapy的 /gerapy/projects目录下。或者直接将scarpy项目压缩上传。 在这里插入图片描述 可以在gerapy后台看到有个项目 在这里插入图片描述 点击部署按钮进行打包和部署,可以输入打包时的描述信息 在这里插入图片描述 点击打包按钮,即可发现 Gerapy 会提示打包成功,同时在左侧显示打包的结果和打包名称。 在这里插入图片描述 选择一个站点,点击右侧部署,将该项目部署到该站点上 在这里插入图片描述

任务管理

在任务管理界面可以设置爬虫任务 在这里插入图片描述 创建任务,指定任务名称、项目名、爬虫名、运行scrapyd服务器、调度方式等 在这里插入图片描述 创建任务后,选择状态进行查看任务执行情况 在这里插入图片描述

在这里插入图片描述 更改调度方式查看 在这里插入图片描述