在开始以前先要吐槽一下CSDN,昨晚怀着激动得心情写下了我人生中的第一篇博文,今天审核经过后发现全部的图片都不见了,瞬间就不开心了。因此不得不又申请了博客园的帐号,从新开始。html
前段时间一直研究通用爬虫,作的过程当中也是各类问题,不过好在磕磕绊绊搞出点眉目,中间学到了很多东西,感受互联网真的好神奇。json
可是接下来问题来了,写的爬虫不能老在本身机器上跑吧,如何部署到服务器上呢,而后就开始研究scrapyd。网上搜了不少资料,都在介绍scrapy deploy命令,可是我在机器上安装上scrapyd以后,怎么运行都是提示没有deploy这个命令,真是奇怪,为何别人均可以呢。通过几番波折,终于在最新的官方文档里面找到了答案。附上地址和截图:http://doc.scrapy.org/en/latest/topics/commands.htmlwindows
原来1.0版本之后这个命令已经废弃了,再一查我安装的版本是1.0.3。而后就根据提示去下载scrapyd-client。浏览器
本觉得日后就会顺利一点,可是安装了scrapyd-client之后运行,仍是一直提示没有scrapy-client命令。群里请教,网上查资料都没有解决,在我快绝望的时候终于在stack overflow上找到了答案。附上地址和截图:http://stackoverflow.com/questions/22646323/windows-scrapyd-deploy-is-not-recognized服务器
根据人家提供的方法一试,果真OK,感受SO真的好强大。curl
解决了以上问题,下面的部署就顺利的多了。记一下以方便之后查阅,也给像我同样的菜鸟一点参考。scrapy
个人scrapy.cfg设置以下:ide
[deploy:scrapyd1]url
url = http://192.168.2.239:6800/spa
project = Crawler
1. 启动scrapyd
在要部署的服务器上启动scrapyd。显示如下内容表示启动成功。
默认的端口是6800。能够在浏览器中查看结果,好比:http://192.168.2.239:6800/。显示效果以下:
能够点击jobs查看爬虫运行状况:
2. 发布工程到scrapyd
scrapyd-deploy <target> -p <project>
首先要切换目录到项目所在路径,而后执行下列指令:
scrapyd-deploy scrapyd1 -p Crawler
3. 验证是否发布成功
scrapyd-deploy -L <target>
若是现实项目名称,表示发布成功。
scrapyd-deploy -L scrapyd1
也能够用scrapyd-deploy -l
4. 启动爬虫
curl http://192.168.2.239:6800/schedule.json -d project=Crawler -d spider=CommonSpider
经过页面能够实时监控爬虫运行效果:
5. 终止爬虫
curl http://192.168.2.239:6800/cancel.json -d project=Crawler -d job= 8270364f9d9811e5adbf000c29a5d5be
部署过程当中可能会有不少错误,包括缺乏第三方库啥的,本身根据提示便可解决。
以上只是对scrapyd的初步了解,不少深层的内容等慢慢研究之后会持续更新总结。若是以上内容哪里有不对的地方,请各位朋友及时回复交流,小弟在此谢过。