Scrapyd 和 Scrapyd-Client

Scrapyd

  • Scrapyd是一个服务,用来运行scrapy爬虫的
  • 它允许你部署你的scrapy项目以及通过HTTP JSON的方式控制你的爬虫

安装

pip install scrapyd

安装完成后,在你当前的python环境根目录,有一个scrapyd.exe,打开命令行,输入scrapyd,如下图:

PS C:\Windows\system32> scrapyd
2019-04-22T12:28:13+0800 [-] Loading d:\programdata\anaconda3\lib\site-packages\scrapyd\txapp.py...
2019-04-22T12:28:15+0800 [-] Scrapyd web console available at http://127.0.0.1:6800/
2019-04-22T12:28:15+0800 [-] Loaded.

scrapyd就运行起来了,访问127.0.0.1:6800即可看到可视化界面。

 安装scrapy-client

scrapyd其实就是一个服务器端,真正在部署爬虫的时候,我们需要两个东西:

  1. scrapyd (安装在服务器端)
  2. scrapy-client (客户端)

scrapy-client,它允许我们将本地的scrapy项目打包发送到scrapyd 这个服务端
安装 scrapy-client:pip install scrapy-client

问题处理:

接下来就是让人很头疼的scrapyd-deploy问题了,查看官方文档上说用

scrapyd-deploy -l

可以看到当前部署的爬虫项目,但是当我输入这段命令的时候显示这个命令不存在或者有错误、不合法之类的。

解决方案:

在你的python目录下的Scripts文件夹中,我的路径是“D:\program files\python2.7.0\Scripts”,增加一个scrapyd-deploy.bat文件。

内容为:

@echo off
D:\ProgramData\Anaconda3\python D:\ProgramData\Anaconda3\Scripts\scrapyd-deploy %*

然后重新打开命令框,再运行scrapyd-deploy -l 就可以了。

设置

在scrapy.cfg中修改配置

[deploy]
url = http://127.0.0.1:6800/  #部署到目标服务器的地址
project = qu   #project 就是工程名

部署

 

在scrapy.cfg同级目录下运行

scrapyd-deploy

运行结果如下:

Packing version 1555914829
Deploying to project "qu" in http://127.0.0.1:6800/addversion.json
Server response (200):
{"node_name": "DESKTOP-V7P52KL", "status": "ok", "project": "qu", "version": "1555914829", "spiders": 1}

运行

其中project为项目名称,可以根据实际情况自己指定。

curl http://localhost:6800/schedule.json -d project=qu -d spider=qutoutiao

运行结果:

{"node_name": "DESKTOP-V7P52KL", "status": "ok", "jobid": "1d6dd56e64be11e989aeb881980dbd3b"}

停止

curl http://localhost:6800/cancel.json -d project=quJOB_ID -d job=JOB_ID

运行结果:

{"node_name": "DESKTOP-V7P52KL", "status": "ok", "prevstate": "running"}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

404NooFound

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值