Scrapyd的安装与部署

本文的目的在于介绍 scrapyd 的安装与使用, 为节省篇幅,scrapy 的安装与 scrapy爬虫的开发在本文不予介绍,默认已经开发完成,当然,本机的Python环境变量也是配置好的。笔者所用的环境如下:
系统:Windows 10
Python:Python 3.6.3
Scrapy:Scrapy 1.5.0

笔者使用已经编写好的scrapy爬虫来介绍 Scrapyd的使用。 
项目名称:Announcement
爬虫名称:AnnouncementSpider
项目路径:D:\Code\SpiderProject\Announcement
下面正式开始。
一、Scrapyd 的安装。
    需要安装两个组件: scrapyd  与  scrapyd-client。
    安装方法:
           1、通过pip安装,打开cmd工具,分别使用下面两个命令可以安装 scrapyd 和 scrapyd-client:
pip install scrapyd
pip install scrapyd-client
使用pip安装简单方便,但是pip源上的版本并不一定是最新版本。所以建议使用第二种方式。
          2、从 GitHub 上下载最新源码安装。下载地址:
                Scrapyd: https://github.com/scrapy/scrapyd
                Scrapyd-client: https://github.com/scrapy/scrapyd-client
                下载完成后,随便解压到某个目录(比如 D盘根目录),打开cmd工具,进入到解压的目录下:D:\scrapyd-master , 执行命令:
python setup.py install 
即可完成安装。 scrapyd-client的安装类同。 安装完成后, 可以使用 pip list 查看是否安装完成 , 也可以通过下面这种方式:
Scrapyd的安装与部署_第1张图片
出现如图的提示时,说明scrapyd 启动成功。此时可以通过浏览器访问scrapyd的web监控页面 。
Scrapyd的安装与部署_第2张图片
补充:scrapyd默认的配置文件在:
D:\Program Files\Python3.6.3\Lib\site-packages\scrapyd-1.2.0-py3.6.egg\scrapyd\default_scrapyd.conf


二、爬虫在scrapyd上的部署
1、进入爬虫工程的根目录:D:\Code\SpiderProject\Announcement ,修改爬虫工程的配置文件 scrapyd.cfg 。把 url 前面的“#”删除, 即使配置生效。
Scrapyd的安装与部署_第3张图片
2、在第一步的安装过程中,已经成功启动了scrapyd ,下面就要把爬虫发布到scrapyd。
    打开cmd工具,进入爬虫项目的根目录,笔者的根目录是:D:\Code\SpiderProject\Announcement ,使用以下命令进行部署
scrapyd-deploy -p Announcement 

3、启动爬虫。爬虫的启动是使用 curl 进行的(没有安装curl的,请自行百度安装)。启动命令: 
curl http://localhost:6800/schedule.json -d project=Announcement -d spider=AnnouncementSpider
启动后,可以在浏览器中看到爬虫的运行状况:
Scrapyd的安装与部署_第4张图片
附其它的常用命令:
启动爬虫: 
curl http://localhost:6800/schedule.json -d project=Announcement -d spider=AnnouncementSpider
终止爬虫:
curl http://localhost:6800/cancel.json -d project=Announcement -d job=7fc4b4ae42da11e89a2c3cf86207e325
jobID可以从web页面中获取。

列出工程:

curl http://localhost:6800/listprojects.json

列出爬虫:

curl http://localhost:6800/listspiders.json?project=Announcement

列出job:

curl http://localhost:6800/listjobs.json?project=Announcement

列出版本:

curl http://localhost:6800/listversions.json?project=Announcement

添加版本(网络摘取,未验证):

curl http://localhost:6800/addversion.json -F project=Announcement -F       version=r23 -F [email protected]

删除项目(网络摘取,未验证):

curl http://localhost:6800/delproject.json -d project=Announcement

删除版本(网络摘取,未验证):

curl http://localhost:6800/delversion.json -d project=Announcement -d version=r99
删除版本前,应先查看版本



其实,使用 scrapy crawl命令也可以执行爬虫, 为什么推荐使用scrapyd来控制呢? 原因有以下几点:

1、可以远程启动、停止、删除爬虫。也正因为此,scrapyd 是分布式爬虫的解决方案之一。
2、可以有效避免爬虫源码被别人看到。
3、有版本控制。




你可能感兴趣的:(Scrapy)