Gerapy
概述
Gerapy 是一个基于Scrapy框架的分布式爬虫管理平台,为开发者提供便捷的方式来创建、部署和监控爬虫项目。
Gerapy提供了友好的Web界面,可以帮助用户快速构建分布式爬虫集群,并具有高效稳定的爬虫性能,轻松管理多个爬虫并监控它们的运行状态。
Gerapy的主要特性:
- Web界面管理:通过 Web 界面方便地管理和监控爬虫项目,可视化展示爬取数据和日志。
- 分布式部署:支持将爬虫项目部署到多台服务器上,实现分布式爬取,提高爬取效率。
- 定时任务:支持设置定时任务,定期运行爬虫程序,自动获取最新数据。
- 爬虫项目管理:提供统一的界面管理爬虫项目,包括配置、部署、启动、停止等操作。
- 日志管理:记录爬虫项目的运行日志,方便用户查看和分析爬取过程。
- 支持多平台:Gerapy支持Python 3.5及以上版本,可以运行在Linux、Windows和MacOS系统上。
- 二次开发: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服务器、调度方式等
创建任务后,选择状态进行查看任务执行情况
更改调度方式查看