scrapyd项目部署

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,如下所示:

[python] view plain copy
 
  1. # Automatically created by: scrapy startproject  
  2. #  
  3. # For more information about the [deploy] section see:  
  4. # https://scrapyd.readthedocs.org/en/latest/deploy.html  
  5.   
  6. [settings]  
  7. default = haoip.settings  
  8.   
  9. [deploy:localhost]  
  10. url = http://localhost:6800/  
  11. project = haoip  
  12.   
  13. # 如果要部署到多个服务器的话,再后面再一次添加就可以  
  14. [deploy:名称]  
  15. url = http://host:port/  
  16. project = haoip  

  2.调度爬虫:scrapyd-deploy localhost(scrapy.cfg文件中所指定的名称) -p ipspider(爬虫名称)

运行结果中status如果为ok,则证明部署成功,结果如图

scrapyd项目部署
  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字段)

所有执行结果如图所示:

scrapyd项目部署