scrapyd-client的安装使用

scrapyd-client可以用来部署scrapy项目,它会帮我们把项目打包成egg文件,我们不用再动手调用add version.json接口去部署到scrapyd,操作简单。

安装
1
知识兔td>
pip install scrapyd-client
知识兔td>

安装成功之后,就可以使用其提供的scrapyd-deploy工具来部署了。

使用

1)启动scrapyd

1
知识兔td>
scrapyd
知识兔td>

2)修改scrapy.cfg文件

这里需要修改scrapy项目下的scrapy.cfg文件,原文件如下:

1
2
3
4
5
6
知识兔td>
[settings]
default = unfancy.settings

[deploy]
url = http://localhost:6800/
project = unfancy
知识兔td>

如果只是在本地运行,就直接取消注释,如果是要部署到其他服务器,就将localhost修改为对应的ip,示例如下:

1
2
3
4
5
6
知识兔td>
[deploy]
url = http://193.112.107.55:6800/
project = unfancy
这里的账号密码是用来登录服务器的,如果不需要账号密码,就不用添加
username = scrapy
password = secret
知识兔td>

关于登录服务器这一块,可以使用nginx反向代理来实现用户登录。

3)部署

现在就可以在scrapy.cfg所在的路径下直接执行命令完成部署

1
知识兔td>
scrapyd-deploy
知识兔td>

4)启动

使用scrapyd api启动任务,其他的API请看另一篇文章:scrapyd的安装使用

1
2
3
4
知识兔td>
curl http://localhost:6800/schedule.json -d project=unfancy -d spider=fancy  

# 返回信息
{"jobid": "cd68179acd2911e8914cf45c89a40603", "status": "ok", "node_name": "Pro"}
知识兔td>

部署成功之后项目中多了一些文件,需要注意的是,如果项目本来就有setup.py文件,该文件会被使用,没有则会自动创建一个。

5)查看

打开浏览器查看详细信息

详解

完整的部署命令如下:

1
知识兔td>
scrapyd-deploy <target> -p <project> --version <version>
知识兔td>
  • target:服务器的名字,在deploy后面,不写则是default,部署时可以省略,看上面例子
计算机