http://blog.csdn.net/you_are_my_dream/article/details/60610179
本机配置如下:
python2.7.12
scrapy1.1.1
scrapyd1.1.0
看了好多scrapyd的部署博客,发现基本上都是在麦子学院(链接)里面复制粘贴出来的,不过我用那个测试的时候出现了一些错误,不知道之前的博主是否在测试中是否也出现了类似的错误。
需要的三个工具,上面已经说的很清楚了 scrapyd,scrapyd-client,bin-curl怎么安装麦子学院里面都有提到。
安装完毕并启动scrapyd以后,当再次在命令行输入下面命令的时候,出现了错误:
scrapyd-deploy -l
可以看到当前部署的爬虫项目,但是当我输入这段命令的时候显示这个命令不存在或者有错误、不合法之类的。
解决方案:
在你的python目录下的Scripts文件夹中,我的路径是“D:AnacondaScripts”,增加一个scrapyd-deploy.bat文件。
内容为:
@echo off
"D:Anacondapython.exe" "D:AnacondaScriptsscrapyd-deploy" %*
然后重新打开命令框,再运行scrapyd-deploy -l 就可以了。
关于一些常用的语法的具体参数呢,具体的话可以看官方文档(链接),避免我的解释会以偏概全,误导大家。
爬虫的部署具体操作如下:
1.在命令行跳转到scrapy创建的爬虫目录下,修改scrapy.cfg,如下所示:
- # Automatically created by: scrapy startproject
- #
- # For more information about the [deploy] section see:
- # https://scrapyd.readthedocs.org/en/latest/deploy.html
- [settings]
- default = haoip.settings
- [deploy:localhost]
- url = http://localhost:6800/
- project = haoip
- # 如果要部署到多个服务器的话,再后面再一次添加就可以
- [deploy:名称]
- url = http://host:port/
- project = haoip
2.调度爬虫:scrapyd-deploy localhost(scrapy.cfg文件中所指定的名称) -p ipspider(爬虫名称)
运行结果中status如果为ok,则证明部署成功,结果如图
3.启动爬虫:curl http://localhost:6800/schedule.json -d project=PROJECT_NAME -d spider=SPIDER_NAME
PROJECT_NAME填入你爬虫工程的名字,SPIDER_NAME填入你爬虫的名字
本机执行为:
curl http://localhost:6800/schedule.json -d project=haoip -d spider=ipspider
4.列出所有工程:curl http://localhost:6800/listprojects.json
5.取消爬虫:curl http://localhost:6800/cancel.json -d project=PROJECT_NAME -d job=JOB_ID(对应的jobid字段)
所有执行结果如图所示: