Scrapyd远程部署爬虫项目

版权声明:本文为博主原创文章,转载请注明出处,感谢! https://blog.csdn.net/ljj_18539663587/article/details/88819836

Scrapyd远程部署爬虫项目

1.新建虚拟环境

可忽略,如有需要自行查找谷歌

2.安装scrapyd模块,验证安装是否成功
pip install scrapyd
# 命令行输入scrapyd启动服务
>>>scrapyd
127.0.0.1:6800  # 浏览器查看
3.远程连接设置

修改default_scrapyd.conf配置文件

find / -name default_scrapyd.conf  # 查找文件路径

将[scrapyd]下bind_address = 127.0.0.1改为bind_address = 0.0.0.0

4.安装Scrapyd-Client模块

scrapyd-client模块是专门打包scrapy爬虫项目到scrapyd服务中

pip install scrapy-client
5.修改项目文件配置

服务器环境安装好后,打开本地项目,修改scrapy.cfg文件,参考如下

[settings]
default = checkId.settings

[deploy:ck]  # ck 为添加的部署名称
url = http://localhost:6800/  # 部署url
project = checkId
6.部署scrapyd

1.新建目录scrapydfw,进入目录下,启动scrapyd服务,生成dbs文件(服务要一直开启状态)

2.新建目录scrapydproject,进入目录下,拉取项目文件

3.进入带有scrapy.cfg文件的目录,执行scrapyd-deploy,测试scrapyd-deploy是否可以运行

Unknown target: default  # 显示default表示正常

4.再次执行scrapyd-deploy -l 启动服务,可以看到设置的名称.

ck               http://localhost:6800/   

5.开始打包前,执行一个命令 scrapy list 这个命令执行成功说明可以打包了,如果没执行成功说明还有工作没完成。

ckspider   # 显示项目爬虫名称

6.执行打包命令: scrapyd-deploy 部署名称 -p 项目名称

scrapyd-deploy ck -p checkId  # 终端显示状态码200

7.进入scrapydfw目录下,查看eggs文件中是否有打包好的项目文件,没有继续执行6的步骤

7.scrapyd操作爬虫命令
# 启动爬虫 checkId项目名称  ckspider 爬虫名称
curl http://localhost:6800/schedule.json -d project=checkId -d spider=ckspider
# 关闭爬虫  job值工作标识
curl http://localhost:6800/cancel.json -d project=videospider -d job=3cc0c7fc4f7711e981f200163e0eda02
# 查看job,返回信息如下pending 待执行,running运行中,id=job
curl http://localhost:6800/listjobs.json?project=videospider
>>>{"status": "ok",
 "pending": [{"id": "78391cc0fcaf11e1b0090800272a6d06", "spider": "spider1"}],
 "running": [{"id": "422e608f9f28cef127b3d5ef93fe9399", "spider": "spider2", "start_time": "2012-09-12 10:14:03.594664"}],
 "finished": [{"id": "2f16646cfcaf11e1b0090800272a6d06", "spider": "spider3", "start_time": "2012-09-12 10:14:03.594664", "end_time": "2012-09-12 10:24:03.594664"}]}
# 删除scrapy项目(相当于手动删除eggs下的打包文件)
curl http://localhost:6800/delproject.json-d project=checkId
# 查看scrapy项目列表
curl http://localhost:6800/listprojects.json
# 查看指定项目下有多少爬虫
curl http://localhost:6800/listspiders.json?project=checkId

部署过程中,正常安装包后,如果启动时发现报命令不存在错误,需要建立对应的软连接

猜你喜欢

转载自blog.csdn.net/ljj_18539663587/article/details/88819836