一.环境准备

  远程服务器必须装有scapyd,我们使用的机器必须有scrapy-client(我这里是windows),并确保这两者正常安装并启动。

二.客户端准备上传

  首先进入到爬虫项目的根文件夹:

scrapyd-deploy

  

 这样就是成功了。

三.配置爬虫项目 

  打开爬虫项目中的scrapy.cfg文件,这个文件就是给scrapyd-deploy使用的
将url这行代码解掉注释,并且给设置你的部署名称

  再次执行scrapyd-deploy -l 启动服务,可以看到设置的名称

四.打包项目

  1.开始打包前,执行命令:scrapy list,这个命令执行成功说明可以打包了,如果没执行成功说明还有工作没完成

  

  这边会显示的是我的爬虫项目中具有的爬虫名称:jd

  2.执行打包命令: scrapyd-deploy 部署名称 -p 项目名称
    如下显示表示scrapy项目打包成功

    如果出现

    版本不对,建议安装pip install scrapyd==1.1.1,直到你的egg文件夹中有项目即可

    

  3.上传运行爬虫

curl http://远程ip:6800/schedule.json -d project=项目名称 -d spider=爬虫名称

  执行后,如果出现

  则爬虫运行成功
  可以去网页中106.12.112.139::6800查看爬虫运行状态

  到此为止,scrapyd部署已经完成了,但是如果我们想要控制爬虫是很难的,下面几个命令是控制爬虫的进程,不妨试一试。

五.管理 

  停止爬虫

curl http://localhost:6800/cancel.json -d project=scrapy项目名称 -d job=运行ID

  删除scrapy项目
  注意:一般删除scrapy项目,需要先执行命令停止项目下在远行的爬虫

curl http://localhost:6800/delproject.json -d project=scrapy项目名称

  查看有多少个scrapy项目在api中

curl http://localhost:6800/listprojects.json

  查看指定的scrapy项目中有多少个爬虫

curl http://localhost:6800/listspiders.json?project=scrapy项目名称

  

  总结几个请求url,通过在浏览器输入,也可以监控爬虫进程。

1、获取状态
http://127.0.0.1:6800/daemonstatus.json
2、获取项目列表
http://127.0.0.1:6800/listprojects.json
3、获取项目下已发布的爬虫列表
http://127.0.0.1:6800/listspiders.json?project=myproject
4、获取项目下已发布的爬虫版本列表
http://127.0.0.1:6800/listversions.json?project=myproject
5、获取爬虫运行状态
http://127.0.0.1:6800/listjobs.json?project=myproject
6、启动服务器上某一爬虫(必须是已发布到服务器的爬虫)
http://127.0.0.1:6800/schedule.json (post方式,data={“project”:myproject,“spider”:myspider})
7、删除某一版本爬虫
http://127.0.0.1:6800/delversion.json
(post方式,data={“project”:myproject,“version”:myversion})
8、删除某一工程,包括该工程下的各版本爬虫
http://127.0.0.1:6800/delproject.json(post方式,data={“project”:myproject})

  这样输入命令是不是很繁琐,命令太多不容易记,命令输入错误,得不到想要的结果,你在学习中是否遇到这种问题,因此,gerapy就诞生了,这个工具可以让你的工作更加便捷、高效(不推荐在工作中使用此工具)

注意:如出现如下错误:

  回退版本

  Scrapy==1.6.0 Twisted==18.9.0

利用scrapy-client发布爬虫的远程服务器的更多相关文章

  1. Visual Studio发布项目到远程服务器的步骤

    第一步: 需要远程服务器上安装Web Deploy ,下载地址:http://www.iis.net/downloads/microsoft/web-deploy PS.安装时选择完全安装. 第二步: ...

  2. 利用SSH在本机和远程服务器之间传输文件或文件夹

    1.从远程服务器上下载文件到本机 scp <服务器用户名>@<服务器地址>:<服务器中要下载的文件路径> <下载到本机的绝对路径> 2.从本机上传本地文 ...

  3. 使用Scrapyd部署Scrapy爬虫到远程服务器上

    1.准备好爬虫程序 2.修改项目配置 找到项目配置文件scrapy.cnf,将里面注释掉的url解开来 本代码需要连接数据库,因此需要修改对应的数据库配置 其实就是将里面的数据库地址进行修改,变成远程 ...

  4. 利用scrapy框架进行爬虫

    今天一个网友问爬虫知识,自己把许多小细节都忘了,很惭愧,所以这里写一下大概的步骤,主要是自己巩固一下知识,顺便复习一下.(scrapy框架有一个好处,就是可以爬取https的内容) [爬取的是杨子晚报 ...

  5. Jenkins 发布项目到远程服务器上

    最近公司弄一个项目,jenkins在本地服务器,需要打包发布到远程的阿里云服务器上,弄了好一阵子. 这里记录下中间的几个坑. 这个Remote DIrectory 很重要,到时候时候会拷贝到这个目录下 ...

  6. 利用paramiko获取上传下载远程服务器的资源信息

    # -*- coding: utf-8 -*- import paramikohostname='192.168.76.10'username='root'password='123456'param ...

  7. Eclipse发布Maven项目到远程服务器

    pom.xml中的配置依赖有两种: 一.tomcat-maven.plugin <plugin> <groupId>org.codehaus.mojo</groupId& ...

  8. 利用scrapy-client 发布爬虫到远程服务端

    远程服务端Scrapyd先要开启 远程服务器必须装有scapyd,并开启. 这里远程服务开启的端口和ip: 192.166.12.80:6800 客户端配置和上传 先修爬虫项目文件scrapy.cfg ...

  9. C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

随机推荐

  1. 斜杠反斜杠,去空格\xa0,连接函数join()

    1斜杠反斜杠 斜杠:/.反斜杠:\. 反斜杠\,在windows系统中用来表示目录. 而在unix系统中,/表示目录.由于web遵循unix命名,所以在网址(URL)中,/表示目录. 在unix系统中 ...

  2. gcc支持的一种结构体赋值方式

    struct info{ int a; char b; struct fd{    int c;    int d;          }fg;}; 其实我们也可以这样赋值:同样对于其他的类型也是一样 ...

  3. # 20155327 2016-2017-4 《Java程序设计》第9周学习总结

    20155327 2016-2017-4 <Java程序设计>第9周学习总结 20155327 2016-2017-4 <Java程序设计>第9周学习总结 教材学习内容总结 了 ...

  4. swift学习之-- UIAlertVIewController - uiactionsheet

    // //  ViewController.swift //  actionsheet // //  Created by su on 15/12/7. //  Copyright © 2015年 t ...

  5. Linux Guard Service - 守护进程再次分裂子进程

    当系统区内存不能再申请新进程的时候申请会失败 在512MB内存下最多分配的子进程数 3331 [root@localhost 05]# ./test5-1 50000 expect 50000 sub ...

  6. ASP.NET RouteModule相关的一些东西

    Asp.NET中的路由配置,首先要提到的几个相关类型,Route ,RouteBase,RouteData,RouteTable,RouteCollection 这几个.下面我一次回忆一下,有需要的朋 ...

  7. django drf 权限permission

    https://www.django-rest-framework.org/api-guide/permissions/#custom-permissions from django.shortcut ...

  8. Kafka与.net core(二)zookeeper

    1.zookeeper简单介绍 1.1作用 zookeeper的作用是存储kafka的服务器信息,topic信息,和cunsumer信息.如下图: 而zookeeper是个什么东西呢?简单来说就是一个 ...

  9. 为什么JavaScript要有null?(翻译)

    原文地址 JavaScript有不少怪癖和难以理解的地方.其中null& undefined就比较有意思.既然有了为什么JavaScript还要弄一个null? 相等比较 让我们开始由具有看看 ...

  10. 【cocos2d-x 手游研发小技巧(3)Android界面分辨率适配方案】

    先感叹一下吧~~android的各种分辨率各种适配虐我千百遍,每次新项目我依旧待它如初恋···· 每家公司都有自己项目工程适配的方案,这种东西就是没有最好,只有最适合!!! 这次新项目专项针对andr ...