您的位置:首页 > 其它

ubuntu下scrapyd部署爬虫项目

2017-11-14 20:46 991 查看
Scrapyd是一个部署和运行Scrapy爬虫的应用程序。它使你能够通过JSON API部署(上传)工程,并且控制工程中的爬虫。

scrapyd部署爬虫的优势:

1、方便监控爬虫的实时运行状态,也可以通过接口调用开发自己的监控爬虫的页面

2、方便统一管理,可以同时启动或关闭多个爬虫

3、拥有版本控制,如果爬虫出现了不可逆的错误,可以通过接口恢复到之前的任意版本

注意:在安装scrapyd之前要确保你的环境能够运行scrapy(无论集成环境还在虚拟环境)

在这里我使用的是虚拟环境API部署(上传)工程,并且控制工程中的爬虫。

1.安装scrapyd

pip install scrapyd


2.创建一个目录用于存放爬虫项目的数据文件

3 cd到创建的目录下,之所以到这个目录下运行scrapyd是因为运行时候会在这个目录下产生一个dbs的文件

4 执行scrapyd



目录下会出现dbs一个文件夹



浏览器访问 127.0.0.1:6800



5 安装scrapyd-clien 用于打包

6.拷贝scrapyd-deploy 到爬虫项目下







7 修改项目中的scrapy.cfg 文件



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



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



返回了爬虫名称说明一切ok了.

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







此时说明打包成功

11.输入开启爬虫命令

curl http://localhost:6800/schedule.json -d project=项目名称 -d spider=爬虫名称

如果缺少curl, 那么就 sudo apt install surl 安装







停止爬虫

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})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: