Scrapy入门到放弃08:Genapy,可视化控制爬虫

1,682 阅读3分钟

这是我参与11月更文挑战的第12天,活动详情查看:2021最后一次更文挑战

Gerapy

前提:scrapyd服务启动,项目已经部署到scrapyd中

1. 安装

命令一行,极速安装。

pip install gerapy

2. 服务初始化

执行以下命令完成安装、初始化、用户创建。

安装

pip install gerapy

初始化

新建一个目录,执行以下命令,此目录会作为gerapy的工作目录。

gerapy init

在当前目录下会生成一个gerapy文件夹。

创建数据库

进入gerapy文件夹,执行以下命令,在gerapy目录下生成一个sqlite数据库,同时创建数据表。

gerapy migrate

这里的sqlite是一个嵌入式数据库,在后面也会用到另一个嵌入式数据库BerkeleyDB。在linux环境下,如果sqlite版本过低,执行此操作会报错,这时候需要安装高版本的sqlite。

安装这里详细步骤就不写了,留给大家一点发挥空间。

用户创建

执行以下命令,来创建管理用户。

gerapy createsuperuser

执行此命令后,会提示我们输入用户名、邮箱、密码等。所有操作如下图:

操作

3.启动gerapy

在gerapy工作目录下,执行以下命令启动服务:

前台方式运行

gerapy runserver 0.0.0.0:8888

后台方式运行

gerapy runserver 0.0.0.0:8888 > /dev/null 2>&1 &

这里强调两点:

  1. 如果想被外网访问,启动的时候就要加0.0.0.0
  2. 默认端口是8000,我这里修改为了8888
  3. 测试采用前台方式运行,生产采用后台方式运行

访问8888端口,进入登录页面。

输入用户名、密码登录进入到主机管理菜单下。

4.菜单介绍

主机管理

主机管理主要是对部署在scrapyd服务上的爬虫进行界面化管理操作。

点击右上角的创建按钮,添加scrapyd服务的IP和端口,点击保存,结果如下图。

状态正常之后,点击调度按钮,进入scrapy项目爬虫列表。

爬虫列表

点击爬虫程序后面的运行按钮,即可运行爬虫。

项目管理

Gerapy的工作目录下有一个空的projects文件夹,也就是存放Scrapy目录的文件夹。要部署一个 Scrapy 项目,也可以不通过scrapyd,只要项目文件放在projects文件夹中即可。

方式主要有以下三种:

  1. 将本地 Scrapy 项目直接移动或复制到项目文件夹。
  2. 克隆或下载远程项目,例如 Git Clone,并将项目下载到项目文件夹。
  3. 通过软连接将项目链接到项目文件夹(Linux、Mac下使用ln命令,使用mklink命令)

这里我将本地的scrapy项目压缩成zip格式,上传。

上传完成后,点击部署按钮,先打包,然后部署到远程主机上。

部署

部署完成后,可以看到远程主机上已经有了新的scrapy项目。

点击编辑按钮,也可以对项目进行在线编辑。

在线编辑

部署完成后看一下gerapy工作目录,则发现projects下多了新部署的scrapy项目。

任务管理

支持设置定时任务,进入任务管理菜单,新建定时任务,比如新建一个crontab模式,实现每分钟运行一次等场景。

点击编辑可以修改定时任务。

定时任务

结语

本篇文章主要主要讲述了scrapy项目,在scrapyd和genrapy的加持下,最终实现界面化操作。这也是我觉得scrapy生态要优于原生爬虫的原因之一。

所以,爬虫并不是单纯的爬取数据,当你觉得太无聊、很没有技术含量的时候,不如在所处领域内深耕一下,寻找一些让自己感兴趣的东西。