Bootstrap

scrapyd和gerapy介绍和基本使用

十二、scrapyd的介绍

1.scrapyd的介绍

scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API来部署爬虫项目和控制爬虫运行,scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们。

2.scrapy的安装

scrapyd服务端:pip install scrapyd

scapryd客户端:pip install scrapyd-client

3.启动scrapyd服务

1.在scapryd项目目录下 :sudo scrapyd

2.启动之后就可以打开本地运行的scrapyd,浏览器中访问本地6800端口可以查看scrapyd的监控页面

4.scrpay项目部署
4.1配置需要部署的项目

编辑需要部署的项目的scrapy.cfg文件(需要将哪一个爬虫部署到scrapyd中,就配置该项目的该文件)

[deploy:部署名()]
url = http://localhost:6800/
project = 项目名(创建爬虫项目时使用的名称)


4.2部署项目到scrapyd

同样在scrapy项目路径下执行:scrapyd-deploy -p 项目名

4.3管理scrapy项目
  • 启动项目:curl http://localhost:6800/schedule.json -d project=peoject_name -d spider=spider_name
  • 关闭爬虫:curl http://localhost:6800/cancel.json -d project=project_name -d job=jobid

4.4 使用requests模块控制scrapy项目

import requests

# 启动爬虫
url = 'http://localhost:6800/schedule.json'
data = {
    'project':项目名,
    'spider':爬虫名,
}
resp = requests.post(url,datat=data)

# 停止爬虫
url = 'http://localhost:6800/cancel.json'
data = {
    'project':项目名,
    'job':启动爬虫时返回的jobid,
}
resp = requests.post(url, data=data)

十三、Gerapy

1.Gerapy介绍

Gerapy是一款分布式爬虫管理框架,支持python3,基于scrapy、scrapyd、scrapyd-client、scrapy-redis、scrapy-api、scrapy-splash、jinjia2、django、vue.js开发,Gerapy可以帮助我们:

  • 1.更方便的控制爬虫运行
  • 2.更直观的查看爬虫状态
  • 3.更实时地查看爬取结果
  • 4.更简单的实现项目部署
  • 5.更统一地实现主机管理
2.Gerapy的安装

pip install gerapy

3.Gerapy配置启动

1.新建一个项目

gerapy init

执行完该命令之后会在当前目录下生成一个gerapy文件夹,进入该文件夹,会找到一个名为projects的文件夹

2.对数据库进行初始化(在gerapy目录中操作),执行如下命令

gerapy migrate

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

3.启动gerapy服务

gerapy runserver

此时启动gerapy服务的这台机器的8000端口上开启了Gerapy服务,在浏览器中输入 http://localhost:8000就能进入Gerapy管理页面,在管理页面就可以进行主机管理和界面管理

4.通过Gerapy配置管理scrapy项目

主机管理

  • 1.点击主机管理,右边的创建
  • 2.输入信息
  • 3.创建
  • 4.点击右边的调度
  • 5.然后点击运行

项目管理

  • 1.配置Projects,我们可以将scrapy项目直接放到/gerapy/projects下
  • 2.点击项目管理、右边的deploy
  • 3.然后输出描述 点击build
  • 4.选择节点,然后点击部署
  • 5.点击主机管理,点击调度,然后运行爬虫
Gerapy与scrpayd有什么关联吗?

我们仅仅使用scrapyd是可以调用scrapyd进行爬虫,只是需要使用懵了开启爬虫curl http://127.0.0.1:6800/schedule.json -d projcet = 工程名 -d spider = 爬虫名 ,使用Gerapy就是为了将使用命令行开启爬虫变成“小手一点”。我们在gerapy中配置了scrapy掉后,不需要使用命令行,可以通过图形化界面直接开启爬虫。

;