python之Scrapyd部署爬虫项目(使用虚拟环境)

1、新建虚拟环境(方便管理),在虚拟环境中安装scrapy项目需要使用到的包

新建虚拟环境: mkvirtualenv --python=C:\python36\scripts\python.exe scrapySpider 

进入虚拟环境使用pip将所需包安装完成

2、打开命令行工具执行pip install scrapyd


3、输入scrapyd启动scrapyd服务,在浏览器输入127.0.0.1:6800 即可查看是否成功启动服务

python之Scrapyd部署爬虫项目(使用虚拟环境)_第1张图片

python之Scrapyd部署爬虫项目(使用虚拟环境)_第2张图片

4、如果连接成功先关闭服务,自己在非C盘下新建一个文件夹,名称自定义如:ScrapydProject

然后进入该文件夹,shift+右键 选择在此处打开命令行工具,输入scrapyd命令,执行完成后会在该文件夹中新建一个dbs空文件夹,用来存放部署到scrapyd服务上的项目的数据库文件。

注:你在哪个环境下执行的Scrapyd命令,那你的Scrapyd服务使用的就是那个环境,所以你项目使用的哪个环境,你就在哪个环境下执行Scrapyd,开启服务,避免因为环境不一致,导致出错

python之Scrapyd部署爬虫项目(使用虚拟环境)_第3张图片

5、安装scrapyd-client模块。scrapyd-client模块是专门打包scrapy爬虫项目到scrapyd服务中的,进入虚拟环境,执行命令pip install scrapyd-client,安装完成后,在虚拟环境的scripts中会出现scrapyd-deploy无后缀文件,这个scrapyd-deploy无后缀文件是启动文件,在Linux系统下可以运行,在windows下是不能运行的,所以我们需要编辑一下使其在windows可以运行。

6、新建一个scrapyed-deploy.bat文件,右键选择编辑,输入一下配置:

@echo off

"D:\Envs\Scrapy\Scripts\python.exe" "D:\Envs\Scrapy\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9



7、进入虚拟环境,进入到你的爬虫项目中,进入带有scrapy.cfg文件的目录,执行 scrapyd-deploy,测试 scrapyd-deploy是否可以运行,如果出现以下则正常


8、打开爬虫项目中的scrapy.cfg文件,这个文件就是给scrapyd-deploy使用的 url这行代码解掉注释,并且给设置你的部署名称

python之Scrapyd部署爬虫项目(使用虚拟环境)_第4张图片


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



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


注意执行 scrapy list 命令的时候很有可能出现错误,如果是python无法找到scrapy项目,需要在scrapy项目里的settings.py配置文件里设置成python可识别路径

BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, "JobsSpider"))

如果错误提示,什么远程计算机拒绝,说明你的scrapy项目有链接远程计算机,如链接数据库或者elasticsearch(搜索引擎)之类的,需要先将链接服务器启动

执行 scrapy list  命令返回了爬虫名称说明一切ok了。


11、 开始打包scrapy 项目到 scrapyd 了,用命令结合 scrapy 项目中的 scrapy.cfg 文件设置来打包

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

如:scrapyd-deploy wj -p JobsSpider

python之Scrapyd部署爬虫项目(使用虚拟环境)_第5张图片

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


则爬虫运行成功

python之Scrapyd部署爬虫项目(使用虚拟环境)_第6张图片














你可能感兴趣的:(python学习笔记)