纯属笔记
scrapy部署爬虫项目:
功能:用于将自己本地的爬虫代码,打包上传到服务器上,让这个爬虫在服务器上运行,可以实现对爬虫的远程管理(远程启动,远程关闭,远程查看日志)
服务器scrapyd的安装
- pip install scrapy
- scrapyd 提供一个客户端工具,就是scrapy-client使用这个工具对scrapyd这个访问进行操作
-
- scrapy-client 下载地址 : https://github.com/scrapy/scrapyd-client,解压安装包 进行入文件夹中中执行 python set.up install
- 注意: 服务器scrapy(==1.2)和客户端scrapy-client(==1.1)安装的版本一定要保持一致
- 服务器和客户端安装好之后, 可以启动scrapyd这个服务了. 服务启动之后 不要关闭
-
- 服务127.0.0.1:6800 查看scrapyd是否启动成功
- scrapy爬虫项目 修改scrapy.cfg文件 里的 deploy:name (部署的服务器的名称,因为可能会部署到多个服务器上,所以需要给服务器设置别名来区分)
- 解注释 url = http://localhost:6000/
- 打开一个新的cmd窗口
-
- 输入 scrapyd-deploy 查看scrapyd-client 是否能正常使用 (unknown target : default)
-
- scrapyd-deploy -l (scrapy.cfg添加的名称)
- 输入 scrapyd-deploy bole -p **spider (status: OK/error 项目上传状态 project: 上传的项目名称 version: 项目的版本号 值是时间戳 Spider: 项目project包含的爬虫个数)
- 输入 curl http://localhost:6800/listprojects.json 查看已经上传到scrapyd服务是项目
- 输入 curl http://localhost:6800/listprojects.json?project=jobbolespider 通过api接口 查看项目中所以爬虫名称
- 如果项目上传失败 需要将爬虫项目中打包生成的文件删除( build, project.egg-info, setup.py), 然后再重新打包上传同时然后删除服务伤的项目 命令 : curl http://localhost:6800/delproject.json -d project=**spider 然后重新开始配置打包上传
- 通过API接口 , 启动爬虫项目
-
curl http://localhost:6800/schedule.json -d porject=爬虫项目名称 -d spider=项目中某一个爬虫名称
-
-
成功
-
取出爬虫任务 cur http://localhost:6800/cancel.json -d project=**spider -d job=adf4a5f0sfsdf5f4a(job 对应的 id)
-
-
补一个带界面的部署方法(黑窗口敲代码是真滴爽-=-=)