部署scrapy项目到scrapyd服务上可以使用gerapy,很方便,而手动部署scrapy爬虫项目虽然相对要繁琐一些,但会让我们知道gerapy每一步是做了什么。
- 建议使用虚拟环境,原因在于(1)可以在系统的Python解释器中避免包的混乱和版本的冲突(2)保持全局解释器的干净整洁,使其只作为创建更多虚拟环境的源。(3)不需要管理员权限
- 启动scrapyd服务,就会在当前工作目录下保存所部署的项目以及数据,为了管理方便,一般自己创建一个文件夹。
- 使用scrapyd-client来打包项目,装完这个包会在python环境下的script中会出现一个scrapyd-deploy无后缀的文件(是在linux系统中打开的),新建一个同名文件,把它加上 .bat 后缀(此时该文件是空的)
- 然后编辑上面新建的scrapyd-deploy.bat文件,添加python环境的路径和这个文件的路径,要使用双引号 (添加以下代码)
@echo off "C:\Envs\scrapySpider\Scripts\python.exe" "C:\Envs\scrapySpider\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9
- 在爬虫项目有scrapy.cfg的文件夹中打开命令窗口,输入scrapyd-deploy测试是否可用
- 编辑爬虫项目的cfg文件,解除url的注释并设置部署名称
- 执行scrapyd-deploy-l 命令可以查看设置的名称
- 打包之前执行scrapy list,执行成功就可以执行打包命令: scrapyd-deploy 部署名称 -p 项目名称
如果没有出现异常,那么一个爬虫项目就已经部署到了scrapyd服务上