Scrapyd 和 Scrapyd-Client

news/2024/7/19 9:14:44 标签: 爬虫, scrapy, scrapyd

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"}

 


http://www.niftyadmin.cn/n/997610.html

相关文章

android studio 如何关闭提醒更新

2019独角兽企业重金招聘Python工程师标准>>> 方法一(效果模仿你启动更新studio后点击弹出框进行设置) 1、点击Help->Check for Update... 2、点击弹出框Updates 3、取消勾选 4、点击OK完成 方法二(直接设置) 1、点击…

jq validate 自定义校验方法

2019独角兽企业重金招聘Python工程师标准>>> 前端页面例子 <form> <div class"form-group"> <label class"col-sm-1 control-label no-padding-right" for&quo…

Mongodb 导出数据

打开cmd&#xff0c;切换到mongodb安装目录&#xff0c;进入bin目录 ...\MongoDB\bin chuanke 为数据库名称 toutiao 为集合名称

Django Mysql数据库配置(app models.py 配置)

为什么80%的码农都做不了架构师&#xff1f;>>> Django 可自动生成数据库里的表&#xff0c;具体操作步骤如下&#xff1a; 1、首先创建数据库 2、配置 Django 下的数据库连接模块 即修改 Django 下的settings.py 里 DATABASES DATABASES {default: {ENGINE: dj…

JSTL之C标签的用法

转自&#xff1a;https://my.oschina.net/zimingforever/blog/78980 最近开始整理以前的onenote&#xff0c;居然有200多篇&#xff0c;大致翻了下&#xff0c;很多内容都是在大学的时候学习的时候记下来的&#xff0c;发现以前在note上的内容比较零散&#xff0c;而且最糟糕的…

Python基础知识点之深浅copy

一、数字和字符串的拷贝 赋值 >>> a1 >>> b1 >>> id(a) 140736094983200 >>> id(b) 140736094983200python中有一个重用机制&#xff0c;对于同一个数字&#xff0c;python并不会开辟一块新的内存空间&#xff0c;而是维护同一块内存地址…

最受欢迎的Java第三方库

前言 翻译自programcreek&#xff1b; 典型的Java项目通常会依赖一些第三方库&#xff0c;本文总结了一些最受欢迎的Java库&#xff0c;这些类库在各种应用程序中被广泛使用&#xff1b; 当然&#xff0c;Java SDK是最广泛使用的Java库&#xff0c;这个不用多说&#xff0c;本文…

IJKPlayer问题集锦之不定时更新

大家吼&#xff0c;不知名程序猿小郭同学又冒泡啦&#xff0c;今天是主角是&#xff1a;业界知名&#xff0c;天朝最大异&#xff08;tong&#xff09;性交友平台&#xff0c;BILIBILI开源的视频播放器项目&#xff0c;基于FFMPEG的IJKPlayer<(&#xffe3;ˇ&#xffe3;)/…