Scrapyd 项目爬虫部署

scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API来部署爬虫项目和控制爬虫运行

scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们

安装扩展

pip install scrapyd

pip install scrapyd-client

首先修改项目的 scrapy.cfg 文件

原始内容为

[deploy]

#url = http://localhost:6800/

project = funsion

修改为

[deploy:funsion]

url = http://localhost:6800/

project = funsion

执行 nohup scrapyd > /dev/null 2>&1 &

检查配置, 列出当前可用的服务器 scrapyd-deploy -l

列出服务器上所有的项目, 需要确保服务器上的scrapyd命令正在执行,否则会报连接失败.首次运行的话,可以看到只有一个default项目
scrapyd-deploy -L funsion
 
在爬虫项目根目录下执行下面的命令, 其中target为上一步配置的服务器名称,project为项目名称,可以根据实际情况自己指定。
用法 scrapyd-deploy <target> -p <project>

在项目根目录下输入 scrapyd-deploy funsion -p funsion

得到以下结果

Packing version 1496109534

Deploying to project "funsion" in http://localhost:6800/addversion.json

Server response (200):

{"status": "ok", "project": "funsion", "version": "1496109534", "spiders": 1, "node_name": "localhost.localdomain"}

部署操作会打包你的当前项目,如果当前项目下有setup.py文件,就会使用它,没有的会就会自动创建一个。
如果后期项目需要打包的话,可以根据自己的需要修改里面的信息,也可以暂时不管它。
从返回的结果里面,我们可以看到部署的状态,项目名称,版本号和爬虫个数,以及当前的主机名称
检查部署结果 scrapyd-deploy -L funsion

 

调度爬虫,在项目根目录下

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

如果配置了多个服务器的话,可以将项目直接部署到多台服务器

scrapyd-deploy -a -p <project>

然后访问 http://localhost:6800/jobs 可以查询图像化界面,成功后应该和下图类似

更多参考

http://blog.wiseturtles.com/posts/scrapyd.html

http://scrapyd.readthedocs.io/en/stable/   (Scrapyd 文档)

时间: 2024-11-05 11:48:29

Scrapyd 项目爬虫部署的相关文章

Scrapyd发布爬虫的工具

Scrapyd Scrapyd是部署和运行Scrapy.spider的应用程序.它使您能够使用JSON API部署(上传)您的项目并控制其spider. Scrapyd-client Scrapyd-client是一个专门用来发布scrapy爬虫的工具,安装该程序之后会自动在python目录\scripts安装一个名为scrapyd-deploy的工具 (其实打开该文件,可以发现它是一个类似setup.py的python脚本,所以可以通过python scrapyd-deploy的方式运行) 下

Intellij Idea web项目的部署配置[转]

原文地址:http://blog.csdn.net/z69183787/article/details/41416189 1.前言 2.项目配置(Project Structure) 2.1 Project 2.2 Modules 2.3 Libraries 2.4 Facts 2.5 Artifacts 3.非Maven项目的创建部署 4.Maven项目的部署 5.总结 本文基本总结了intellij中web项目部署的问题,以及如何去配置,因为网上也没有很具体的说明,所以这些都是自己摸索出来的

在Eclipse中使用Maven将Web项目自动部署到tomcat服务器

一.创建Web项目 1.1 选择建立Maven Project 选择File -> New ->Project,如下图所示: 在New窗口中选择 Maven -> Maven Project.点击[next]如下图所示: 1.2 选择项目路径 根据项目的实际情况选择项目的存放目录,也可以选择[Use default Workspace location]默认工作空间.如下图所示: 1.3 选择项目类型 在Artifact Id中选择maven-archetype-webapp,如下图所示

在Eclipse for mac中配置tomcat,使web项目自动部署到tomcat

jdk.tomcat的配置就不多说了,网上一大堆. 一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没有出现所建立的工程名字. 二.验证 很明显项目并没有自动部署到Tomcat的Webapps中而是部署在了别的容器中.在内置浏览器中输入http://localhost:8080/webDemo/login.jsp可正常打开.但在外部浏览器上打开h

[转]Eclipse中的Web项目自动部署到Tomcat

原文地址:http://www.cnblogs.com/ywl925/p/3815173.html 原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写 博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误,解决后不再使用的话,很长时间重新使用,还是会犯同样的错误.(这是人,编程环境,思维方式 共同决定给的) 问题 这里就有个问题,是怎么把Eclipse中的网站项目自动部署到tomcat中.在Ecli

解决web项目无法部署到eclipse配置的本地tomcat

一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没有出现所建立的工程名字. 二.验证 很明显项目并没有自动部署到Tomcat的Webapps中而是部署在了别的容器中.在内置浏览器中输入http://localhost:8080/webDemo/login.jsp可正常打开.但在外部浏览器上打开http://localhost:8080时确没有出现

Eclipse中的Web项目自动部署到Tomcat

一.原因. 1.写java程序有一段时间了,但很久没用eclipse了,所以使用eclipse编写的web项目部署到tomcat 的方式也不是很清楚,下面记录一下将Eclipse 上的web项目自动部署到tomcat 上的方式: 二.部署问题 1.这里就有个问题,是怎么把Eclipse中的网站项目自动部署到tomcat中.在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录下,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse中

web项目无法部署到eclipse配置的本地tomcat

一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没有出现所建立的工程名字. 二.验证 很明显项目并没有自动部署到Tomcat的Webapps中而是部署在了别的容器中.在内置浏览器中输入http://localhost:8080/webDemo/login.jsp可正常打开.但在外部浏览器上打开http://localhost:8080时确没有出现

jenkins实现项目自动部署

背景 整体思路 实现方式 1 自动化部署脚本 2 远程执行 3 配置jenkins任务 背景 之前给公司搭建过一套gitlab+gerrit+jenkins的持续集成环境,由于操作起来有点繁琐,自己也没太搞清楚该怎么用,所以一直就只用了gitlab来做代码管理.最近要做一个项目自动部署的功能,使用过jenkins一定知道他的自动化功能.所以就从jenkins创建自动部署任务的方式来入手. 整体思路 jenkins可以配置触发器,当有新的提交时,触发执行相应的任务.由于jenkins和项目部署不在