1、什么是scrapyd

  Scrapyd是一个服务,用来运行scrapy爬虫的。

  它允许你部署你的scrapy项目以及通过HTTP JSON的方式控制你的爬虫。

  官方文档:http://scrapyd.readthedocs.org/

2、安装scrapyd和scrapyd-client

  pip install scrapyd(服务器)

  pip install scrapyd-client(客户端)

  安装完成后,在python安装目录的Scripts的文件下有一个scrapyd.exe,在命令行窗口执行后,可以通过访问http://127.0.0.1:6800,进入

一个很简单的页面,

  执行scrapyd这个命令行,表示服务开启了,

Python爬虫-scrapyd

 

 

   在浏览器中访问这个服务,

Python爬虫-scrapyd

  上面表示服务端安装成功,现在来安装测试客户端,安装好后,执行scrapyd-deploy来测试是否安装成功,

Python爬虫-scrapyd

 

 

 执行失败,我们来看一下Python的Scripts下面是否有一个scrapyd-client.exe命令,

Python爬虫-scrapyd

 

 

 从图片中看到里面有一个scrapyd-deploy文件,但不是可执行文件,打开后发现这个文件是一个包含Python代码的文件,所以要是让它

执行,要不用Python解释器来执行这个文件,要不就是把它编译为可执行文件两种方式。

  第一种方式:

    在这个文件夹里创建scrapyd-deploy.bat文件,并在里面输入:

@echo off
C:\Users\18065\AppData\Local\Programs\Python\Python37-32\python.exe C:\Users\18065\AppData\Local\Programs\Python\Python37-32\Scripts\scrapyd-deploy %*

第二行第一个路径是python解释器的绝对路径,第二路径是scrapyd-deploy文件的绝对路径,然后再来执行scrapyd-deploy命令

Python爬虫-scrapyd

 

 

 这样就表明安装成功了

  第二种方式:

    用可以将python源文件编译为scrapyd-deploy.exe可执行程序的模块pyinstaller

3、上传爬虫项目

  在上传之前必须修改一下配置文件,将scrapy.cfg中的url注释掉

Python爬虫-scrapyd

 

 

 注释掉后,就可以开始正式上传了,上传时必须要在爬虫项目文件中,

执行scrapyd-deploy -p <projectname>,并出现下图中“status”:“ok”,表示上传成功,可以在http://127.0.0.1:6800页面验证

Python爬虫-scrapyd

 

 

 

Python爬虫-scrapyd

 

4、运行爬虫项目 

上传过后就可以在命令行窗口开始启动爬虫了

启动命令:curl http://127.0.0.1:6800/schedule.json -d project=<projectname> -d spider=<spidername>

启动后,就可以看到在开启服务的那个命令行窗口不断出现scrapy项目运行时的数据,在http://127.0.0.1:6800/jobs页面显示

爬虫运行信息,在http://127.0.0.1:6800/logs/页面显示运行日志

5、关闭爬虫项目

关闭命令:curl http://127.0.0.1:6800/cancel.json -d project=<projectname> -d job=<jobid>

6、其它命令:

daemonstatus.json #查看爬虫状态

addversion.json #添加版本号

listprojects.json #列出所有已经上传到服务器的爬虫工程名

listversions.json #列出指定工程的版本号

listspiders.json #列出指定工程的爬虫名

listjobs.json #列出指定工程的所有正在上传的,正在运行的,和已经完成的 jobid

delversion.json #删除指定工程的某个版本

delproject.json #删除工程