利用scrapy-client 发布爬虫到远程服务端

Posted knighterrant

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用scrapy-client 发布爬虫到远程服务端相关的知识,希望对你有一定的参考价值。

远程服务端Scrapyd先要开启

远程服务器必须装有scapyd,并开启。

这里远程服务开启的端口和ip:

192.166.12.80:6800

客户端配置和上传

 

先修爬虫项目文件scrapy.cfg:如下图

cd  到爬虫项目文件夹下,后执行:

scrapyd-deploy       # 上传

scrapyd-deploy  -l       #  查看

技术图片

 

打包项目

1、打包前先查看项目下的爬虫文件:

技术图片

说明可以开始打包了

2.执行打包命令:

scrapyd-deploy  部署名称  -p  项目名称

技术图片

上面表示打包成功。

以下是可能出现的问题,以及解决方案:

如果出现后端报错和scrapyd前端页面报错,解决方案:

技术图片

scrapyd 前端报错:

技术图片

 

修改远程服务器(192.168.12.80)上的Twisted的版本改为 18.9.0

 pip3 install Twisted==18.9.0

技术图片

 

 重启 Scrapyd:

技术图片

在访问192.168.12.80:6800/jobs,正常显示:

技术图片

 3.上传运行爬虫

curl http://远程ip:6800/schedule.json -d project=项目名称 -d spider=爬虫名称
如:
curl http://192.168.12.80:6800/schedule.json -d project=circ -d spider=bjh

 技术图片

说明部署成功:

技术图片

 

 scrapyd部署已经完成了。

管理 

 

1、停止爬虫

curl http://localhost:6800/cancel.json -d project=scrapy项目名称 -d job=运行ID

2.删除scrapy项目
  注意:一般删除scrapy项目,需要先执行命令停止项目下在远行的爬虫

curl http://localhost:6800/delproject.json -d project=scrapy项目名称

3.查看有多少个scrapy项目在api中

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

4.查看指定的scrapy项目中有多少个爬虫

curl http://localhost:6800/listspiders.json?project=scrapy项目名称

5总结几个请求url,通过在浏览器输入,也可以监控爬虫进程。

例子:地址栏访问 :http://192.168.12.80:6800/daemonstatus.json,获取到一下页面

技术图片

 

技术图片
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})

 

 

以上是关于利用scrapy-client 发布爬虫到远程服务端的主要内容,如果未能解决你的问题,请参考以下文章

使用Scrapyd部署Scrapy爬虫到远程服务器上

如何利用Gitlab-ci持续部署到远程机器?

Python爬虫从入门到放弃(二十一)之 Scrapy分布式部署

Heroku 上的 Scrapy 爬虫返回 503 服务不可用

利用shell脚本远程登录服务器并修改saltstack配置并重启服务

利用ssh-copy-id复制公钥到多台服务器