Scrapyd部署爬虫项目操作详解

                             Scrapyd部署爬虫项目

博客目的: 本博客介绍了如何安装和配置Scrapyd,以部署和运行Scrapy spider。

Scrapyd简介 :  Scrapyd是一个部署和运行Scrapy spider的应用程序。它使您能够使用JSON API部署(上载)项目并控制其spider。

部署步骤:

1. 新建虚拟环境(方便管理),在虚拟环境中安装scrapy项目需要使用到的包

mkvirtualenv --python=C:\python27\scripts\python.exe scrapySpider 新建虚拟环境

进入虚拟环境使用pip将所需包安装完成

打开命令行工具执行pip install scrapyd(1.1.1)

 等待安装完成后 输入scrapyd 启动 scrapy 服务

 浏览器输入127.0.0.1:6800 即可查看

 2. 如果连接成功先关闭服务,自己在非C盘下新建一个文件夹,名称自定义如:scrapydTest

然后进入该文件夹,shift+右键 打开命令行工具,输入scrapyd执行,执行完成后会新建一个dbs空文件夹,用来存放爬虫项目的数据文件

 

 

3. 安装scrapyd-client模块。scrapyd-client模块是专门打包scrapy爬虫项目到scrapyd服务中的,进入虚拟环境,执行命令pip install scrapyd-client==1.1.0,安装完成后,在虚拟环境的scripts中会出现scrapyd-deploy无后缀文件,这个scrapyd-deploy无后缀文件是启动文件,在Linux系统下可以远行,在windows下是不能运行的,所以我们需要编辑一下使其在windows可以运行

新建一个scrapyd-deploy.bat文件,右键选择编辑,输入以下配置,注意:两个路径之间是空格,一定要使用双引号。单引号的话会错误。

 

 4. 进入虚拟环境,进入到你的爬虫项目中,进入带有scrapy.cfg文件的目录,执行scrapyd-deploy,测试scrapyd-deploy是否可以运行,如果出现以下则正常

 

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

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

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

注意执行 scrapy list  命令的时候很有可能出现错误,如果是python无法找到scrapy项目,需要在scrapy项目里的settings.py配置文件里设置成python可识别路径

# 将当前项目的一级目录TotalSpider目录添加到python可以识别目录中

BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(__file__)))

sys.path.insert(0, os.path.join(BASE_DIR, “ivsky_spider”))

如果错误提示,什么远程计算机拒绝,说明你的scrapy项目有链接远程计算机,如链接数据库或者elasticsearch(搜索引擎)之类的,需要先将链接服务器启动

执行 scrapy list  命令返回了爬虫名称说明一切ok了,如下图

 

 8. 到此我们就可以开始打包scrapy项目到scrapyd了,用命令结合scrapy项目中的scrapy.cfg文件设置来打包

执行打包命令: scrapyd-deploy 部署名称 -p 项目名称

如:scrapyd-deploy wj -p TotalSpider

如下显示表示scrapy项目打包成功

 如果出现

 

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

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

执行后,如果出现

则爬虫运行成功

可以去网页中127.0.0.1:6800查看爬虫运行状态

停止爬虫

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

https://github.com/DormyMo/SpiderKeeper

一个基于flask后台框架写的scrapy爬虫监控小项目,有兴趣的同学看看

https://cuiqingcai.com/4959.html    Gerapy使用参考博客

 

 

如何使用scrapyd部署爬虫项目

2018年09月29日 11:57:26 CHENJIGN 阅读数:464

功能:相当于一个服务器,用于将自己本地的爬虫代码,打包上传到服务器上,让这个爬虫在服务器上运行,可以实现对爬虫的远程管理。(远程启动爬虫、关闭爬虫、查看爬虫的一些日志)

1.scrapyd的安装:在cmd中,输入指令

pip install scrapyd

2.安装服务与客户端

a>scrapyd提供了一个客户端工具,就是scrapyd-client,使用这个工具对scrapyd这个服务进行操作,比如:向scrapyd服务打包上传项目。scrapyd-client类似于redis-cli.exe、MongoDB数据库的client。
scrapyd-client下载地址:https://github.com/scrapy/scrapyd-client

b>pip install scrapyd-client=1.2.0a1

注意:服务端scrapyd(默认版本1.2)和客户端scrapyd-client(默认版本1.1)安装的版本一定要一致
  • 1

3.安装完服务与客户端之后,启动scrapyd,直接在cmd中输入scrapyd就可以启动了,服务启动之后不要关闭cmd窗口

然后打开浏览器访问网址127.0.0.1:6800,出现以下页面表示成功启动scrapyd服务:
在这里插入图片描述

4.配置爬虫项目,完成之后,再通过addversion.json进行打包。
addversion.json文件在项目的根目录

修改scrapy.cfg文件:
在这里插入图片描述

5.上述的scrapyd服务窗口cmd不要关闭,再新开一个cmd窗口,用于连接scrapyd服务
a>进入项目根目录,输入scrapyd-deploy命令,查看scrapyd-client客户端是否能使用
在这里插入图片描述

b>查看当前可用于打包上传的爬虫项目
在这里插入图片描述

c>使用scrapyd-deploy命令打包上传项目;
命令:Scrapyd-deploy bole -p jobbolespider
参数:
Status: “ok”/”error” 项目上传状态
Project: 上传的项目名称
Version: 项目的版本号,值是时间戳
Spiders: 项目Project包含的爬虫个数
在这里插入图片描述

d>通过API接口,查看已经上传至scrapyd服务的项目;
命令:curl http://localhost:6800/listprojects.json
键值:
Projects: [ ] 所有已经上传的爬虫项目,都会显示在这个 列表中。
在这里插入图片描述

e>通过api接口,查看某一个项目中的所有爬虫名称;
命令:curl http://localhost:6800/listspiders.json?project=jobbolespider
在这里插入图片描述

注意:如果项目上传失败,需要先将爬虫项目中打包生成的文件删除(build、project.egg-info、setup.py),然后再重新打包上传。
  • 1

f>通过api接口,启动爬虫项目
命令:curl http://localhost:6800/schedule.json -d project="爬虫项目名称" -d spider="项目中某一个爬虫名称"
键值:
Jobid: 是根据项目(jobbolespider)和爬虫(bole)生成的一个id,将来用于取消爬虫任务。
在这里插入图片描述

g>如果上传的项目无法运行,在本地调整代码之后,需要重新打包上传,将失效的项目删除
命令:curl http://localhost:6800/delproject.json -d project=jobbolespider
在这里插入图片描述

h>通过api接口,取消爬虫任务;
参数:
Jobid:启动爬虫的时候分配的
在这里插入图片描述
在这里插入图片描述

 

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Spring Boot是一个非常流行的Java框架,它提供了一种简单、快速的方式来构建和部署Web应用程序。下面是一个简单的Spring Boot项目部署过程。 1. 编写Spring Boot应用程序 首先,你需要编写一个Spring Boot应用程序。这可能需要一些时间和经验,但这里只是简单地提到一些要点: - 确保你的应用程序具有清晰的结构,易于维护和扩展。 - 使用Spring Boot的自动配置功能,尽量减少手动配置。 - 使用Spring Boot的嵌入式Web服务器,如Tomcat或Jetty。 2. 打包应用程序 一旦你编写了Spring Boot应用程序,你需要打包它,以便可以在服务器上运行。你可以使用Maven或Gradle等构建工具来完成此操作。 对于Maven,你只需运行以下命令: ``` mvn clean package ``` 这将生成一个可执行的JAR文件。 3. 部署应用程序 现在你已经有了一个可执行的JAR文件,接下来就是将它部署到服务器上。 你可以选择使用任何云平台(如AWS、Azure、Google Cloud等)或自己的服务器。不过,在这里,我们将专注于如何使用Docker容器来部署应用程序。 以下是一些基本步骤: - 安装Docker并启动Docker服务。 - 创建一个Dockerfile,其中包含有关如何构建Docker镜像的信息。例如: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/myapp.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] ``` - 在Dockerfile所在的目录中运行以下命令,以构建Docker镜像: ``` docker build -t myapp . ``` - 运行以下命令,以在Docker容器中启动应用程序: ``` docker run -p 8080:8080 myapp ``` 现在你的Spring Boot应用程序已经在Docker容器中运行,并且可以通过浏览器访问它了。 以上就是一个简单的Spring Boot项目部署过程。当然,实际情况可能更加复杂,但是如果你遵循这些基本步骤,应该可以轻松地将你的应用程序部署到服务器上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值