部署前提是自己的爬虫项目已经写完整。
如果使用的是pycharm工具,可直接在Terminal里安装需要的包。(anaconda3环境)
输入命令pip install scrapy scrapyd scrapyd-client spiderkeeper
以上,安装完所有需要的包。
输入scrapyd启动scrapyd服务
启动成功。
浏览器输入 127.0.0.1:6800
在script文件夹中找到scrapyd-deploy无后缀文件,这个scrapyd-deploy无后缀文件是启动文件, 在Linux系统下可以运行, 在windows下是不能运行的, 所以我们需要编辑一下使其在windows可以运行。
所以新建一个scrapyd-deploy.bat文件, 右键选择编辑, 输入以下配置, 注意: 两个路径之间是空格, 一定要使用双引号, 单引号的话会错误.
在scrapyd-deploy.bat文件中写入
@echo off
“C:\ProgramData\Anaconda3\python.exe” “C:\ProgramData\Anaconda3\Scripts\scrapyd-deploy” %1 %2 %3 %4 %5 %6 %7 %8 %9
(环境路径不一样,根据自己scripts的python.exe路径写)
返回爬虫项目,找到scrapy.cfg文件,这个文件就是给scrapyd-deploy使用的将url这行代码解掉注释, 并且设置你的部署名称
再次执行scrapyd-deploy -l启动服务, 可以看到设置的名称
如果错误提示, 什么远程计算机拒绝, 说明你的scrapy项目有链接远程计算机, 如链接数据库或者elasticsearch(搜索引擎)之类的, 需要先将链接服务器启动执行scrapy list 命令返回了爬虫名称说明一切ok了, 如下图
. 到此我们就可以开始打包scrapy项目到scrapyd了, 用命令结合scrapy项目中的scrapy.cfg文件设置来打包
如下显示表示scrapy项目打包成功
可以去网页中127.0.0.1:6800 查看爬虫运行状态
停止爬虫
curl http://localhost:6800/cancel.json -d project=scrapy项目名称 -d job=运行ID
删除scrapy项目
注意:一般删除scrapy项目,需要先执行命令停止项目下在远行的爬虫
curl http://localhost:6800/delproject.json -d project=scrapy项目名称
查看有多少个scrapy项目在api中
curl http://localhost:6800/listprojects.json
查看指定的scrapy项目中有多少个爬虫
curl http://localhost:6800/listspiders.json?project=scrapy项目名称
总结几个请求url
1、获取状态
http://127.0.0.1:6800/daemonstatus.json
2、获取项目列表
http://127.0.0.1:6800/listprojects.json
3、获取项目下已发布的爬虫列表
http://127.0.0.1:6800/listspiders.json?project=myproject
4、获取项目下已发布的爬虫版本列表
http://127.0.0.1:6800/listversions.json?project=myproject
5、获取爬虫运行状态
http://127.0.0.1:6800/listjobs.json?project=myproject
6、启动服务器上某一爬虫(必须是已发布到服务器的爬虫)
http://127.0.0.1:6800/schedule.json (post方式,data={“project”:myproject,“spider”:myspider})
7、删除某一版本爬虫
http://127.0.0.1:6800/delversion.json
(post方式,data={“project”:myproject,“version”:myversion})
8、删除某一工程,包括该工程下的各版本爬虫
http://127.0.0.1:6800/delproject.json(post方式,data={“project”:myproject})
作者:窒息的鱼
来源:CSDN
原文:https://blog.csdn.net/qq_41664526/article/details/79657737
版权声明:本文为博主原创文章,转载请附上博文链接!