scrapyd项目部署

本机配置如下:

python2.7.12

scrapy1.1.1

scrapyd1.1.0

   看了好多scrapyd的部署博客,发现基本上都是在麦子学院(链接)里面复制粘贴出来的,不过我用那个测试的时候出现了一些错误,不知道之前的博主是否在测试中是否也出现了类似的错误。

   需要的三个工具,上面已经说的很清楚了 scrapyd,scrapyd-client,bin-curl怎么安装麦子学院里面都有提到。

   安装完毕并启动scrapyd以后,当再次在命令行输入下面命令的时候,出现了错误:

scrapyd-deploy -l
可以看到当前部署的爬虫项目,但是当我输入这段命令的时候显示这个命令不存在或者有错误、不合法之类的。
解决方案:
在你的python目录下的Scripts文件夹中,我的路径是“D:\Anaconda\Scripts”,增加一个scrapyd-deploy.bat文件。
内容为:
@echo off
"D:\Anaconda\python.exe" "D:\Anaconda\Scripts\scrapyd-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,则证明部署成功,结果如图

scrapyd项目部署_第1张图片
  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项目部署_第2张图片

你可能感兴趣的:(scrapyd项目部署)