ubuntu下scrapyd部署爬虫项目
2017-11-14 20:46
991 查看
Scrapyd是一个部署和运行Scrapy爬虫的应用程序。它使你能够通过JSON API部署(上传)工程,并且控制工程中的爬虫。
scrapyd部署爬虫的优势:
1、方便监控爬虫的实时运行状态,也可以通过接口调用开发自己的监控爬虫的页面
2、方便统一管理,可以同时启动或关闭多个爬虫
3、拥有版本控制,如果爬虫出现了不可逆的错误,可以通过接口恢复到之前的任意版本
注意:在安装scrapyd之前要确保你的环境能够运行scrapy(无论集成环境还在虚拟环境)
在这里我使用的是虚拟环境API部署(上传)工程,并且控制工程中的爬虫。
1.安装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项目名称
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})
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})
相关文章推荐
- python之Scrapyd部署爬虫项目(使用虚拟环境)
- Scrapyd部署项目爬虫
- scrapyd 部署爬虫项目
- 第三百七十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目
- Scrapyd 项目爬虫部署
- Scrapyd部署爬虫项目
- Python在Windows系统下基于Scrapyd部署爬虫项目(本地部署)
- Ubuntu 13.04 Django 项目部署Apache +WSGI.
- scrapyd项目部署
- Ubuntu 14.04 64bit上磁力链爬虫dht部署指南
- Ubuntu docker 部署web项目
- ubuntu环境部署项目
- 详解ASP.NET Core部署项目到Ubuntu Server
- Ubuntu 下面部署Django 项目
- Ubuntu下(LNMP)项目部署全过程
- Ubuntu 服务器上Apache + WSGI 部署Django项目
- 记录从零开始在Ubuntu 16.04 上部署Ruby on rails 项目
- Ubuntu14.04 apt-get 安装tomcat7之后统一端口下部署多项目
- Ubuntu服务器部署Java Web项目
- Spring MVC+tomcat+mysql+Ubuntu项目部署的笔记