scrapy——8    scrapyd使用

  1. 什么是scrapyd
  2. 怎么安装scrapyd
  3. 如何使用scrapyd--运行scrapyd
  4. 如何使用scrapyd--配置scrapy.cfg
  5. 如何使用scrapyd--添加到爬虫工程
  6. 如何使用scrapyd--运行爬虫任务
  7. 如何使用scrapyd--停止爬虫任务
  8. 如何使用scrapyd--删除爬虫项目
  9. 如何使用scrapyd--查看存在的爬虫工程

什么是scrapyd?

scrapyd是运行scrapy爬虫的服务程序,它支持以http命令方式发布、删除、启动、停止爬虫程序。而且scrapyd可以同时管理多个爬虫,每个爬虫还可以有多个版本。

特点:

  1. 可以避免爬虫源码被看见。
  2. 有版本控制。
  3. 可以远程启动、停止、删除

scrapyd官方文档:https://scrapyd.readthedocs.io/en/stable/overview.html

怎么安装scrapyd

  1. 安装scrapyd

主要有两种方法:

pip install scrapyd (安装的版本可能不是最新的)

https://github.com/scrapy/scrapyd 中下载源码,
运行python setup.py install 命令进行安装

    2. 安装scrapyd-deploy

主要有两种安装方式:
pip install scrapyd-client(安装的版本可能不是最新版本)
http://github.com/scrapy/scrapyd-client 中下源码,
运行python setup.py install 命令进行安装。


如何使用scrapyd?

  • 运行scrapyd

直接在终端输入scrapyd,访问http链接

  • 配置scrapy.cfg

这时进入到我们的scrapy项目中,找到新建scrapy项目都会生成的scrapy.cfg文件

打开后是这样的内容

# Automatically created by: scrapy startproject
#
# For more information about the [deploy] section see:
# https://scrapyd.readthedocs.io/en/latest/deploy.html [settings]
default = tencent.settings [deploy]
#url = http://localhost:6800/
project = tencent
  1. 首先去掉url前面的注释符号,url是scrapyd服务器的网址
  2. 然后project=tenCent为项目名称,可以随意起名
  3. 修改[deploy]为[depoly:100],表示把爬虫发布到名为100的爬虫服务器上,一般在需要同时发布爬虫到多个目标服务器时使用

  • 添加到爬虫工程

命令如下:

Scrapyd-deploy <target> -p <project> --version <version>

参数解释:

  • target:deploy后面的名称。
  • project:自行定义名称,跟爬虫的工程名字无关。
  • version:自行定义版本号,不写的话默认为当前时间戳

现在我们来上传一个新的项目到scrapd中

来到项目的能运行scrapy的路径下,输入:

scrapyd-deploy 100 -p tenCent --version v1

这是刷新6800端口网页,会发现已经有项目被添加进来了

此时的job还是没有数据的

  • 运行爬虫任务

运行爬虫项目的命令如下:

curl http://localhost:6800/schedule.json -d project=project_name -d spider=spider_name
  • project:scrapy.cfg中设置的project
  • spider_name:运行scrapy的项目名称===》scrapy list

运行代码以后:

  • 停止爬虫任务

    curl http://localhost:6800/cancel.json -d project=project_name -d job=job_id

job_id:如图所致

可以看出,爬虫在2:00时就停止了

log可以查看运行结果

  • 删除爬虫

curl http://localhost:6800/delproject.json -d project=project_name

  • 查看scrapyd中存在的项目

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

还有其他更多的命令,请参考官网:https://scrapyd.readthedocs.io/en/latest/api.html

scrapy——8 scrapyd使用的更多相关文章

  1. scrapy的scrapyd使用方法

    一直以来,很多人疑惑scrapy提供的scrapyd该怎么用,于我也是.自己在实际项目中只是使用scrapy crawl spider,用python来写一个多进程启动,还用一个shell脚本来监控进 ...

  2. Scrapy+Scrapy-redis+Scrapyd+Gerapy 分布式爬虫框架整合

    简介:给正在学习的小伙伴们分享一下自己的感悟,如有理解不正确的地方,望指出,感谢~ 首先介绍一下这个标题吧~ 1. Scrapy:是一个基于Twisted的异步IO框架,有了这个框架,我们就不需要等待 ...

  3. scrapy与scrapyd安装

    Scrapy是用python编写的爬虫程序. Scrapyd是一个部署与运行scrapy爬虫的应用,提供JSON API的调用方式来部署与控制爬虫 . 本文验证在fedora与centos是安装成功. ...

  4. python3下scrapy爬虫(第十四卷:scrapy+scrapy_redis+scrapyd打造分布式爬虫之执行)

    现在我们现在一个分机上引入一个SCRAPY的爬虫项目,要求数据存储在MONGODB中 现在我们需要在SETTING.PY设置我们的爬虫文件 再添加PIPELINE 注释掉的原因是爬虫执行完后,和本地存 ...

  5. 如何部署Scrapy 到Scrapyd上?

    安装上传工具 1.上传工具 scrapyd-client 2.安装方法: pip install scrapyd-client 3.上传方法: python d:\Python27\Scripts\s ...

  6. python3下scrapy爬虫(第十三卷:scrapy+scrapy_redis+scrapyd打造分布式爬虫之配置)

    之前我们的爬虫都是单机爬取,也是单机维护REQUEST队列, 看一下单机的流程图: 一台主机控制一个队列,现在我要把它放在多机执行,会产生一个事情就是做重复的爬取,毫无意义,所以分布式爬虫的第一个难点 ...

  7. 第三百七十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目

    第三百七十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目 scrapyd模块是专门用于部署scrapy项目的,可以部署和管理scrapy项目 下载地址:h ...

  8. Python爬虫从入门到放弃(二十一)之 Scrapy分布式部署

    按照上一篇文章中我们将代码放到远程主机是通过拷贝或者git的方式,但是如果考虑到我们又多台远程主机的情况,这种方式就比较麻烦,那有没有好用的方法呢?这里其实可以通过scrapyd,下面是这个scrap ...

  9. 基于scrapyd爬虫发布总结

    一.版本情况 python以丰富的三方类库取得了众多程序员的认可,但也因此带来了众多的类库版本问题,本文总结的内容是基于最新的类库版本. 1.scrapy版本:1.1.0 D:\python\Spid ...

随机推荐

  1. 布局技巧4:使用ViewStub

    多亏了<include />标签,在Android里,很容易就能做到共享和重用UI组件.在Android开发中,很容易就能创建出复杂的UI结构,结果呢,用了很多的View,且其中的一些很少 ...

  2. luoguP2939 [USACO09FEB]改造路Revamping Trails

    约翰一共有N)个牧场.由M条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场1出发到牧场N去给奶牛检查身体. 通过每条小径都需要消耗一定的时间.约翰打算升级其中K条小径,使之成为高 速公路. ...

  3. 浅谈IO优化

    三层结构 磁盘(存储).VM(卷管理)和文件系统.专有名词不好理解,打个比方说:磁盘就相当于一块待用的空地:LVM相当于空地上的围墙(把空地划分成多个部分):文件系统则相当于每块空地上建的楼房(决定了 ...

  4. 【转载】greenplum数据库引擎探究

    Greenplum做为新一代的数据库引擎,有着良好的发展与应用前景.强大的工作效率,低成本的硬件平台对数据仓库与商业智能建设有很大的吸引力.要清楚的了解其特点最好从架构着手. 架构分析  Greenp ...

  5. 苹果树(线段树+Dfs序)

    1228 苹果树  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description 在卡卡的房子外面,有一棵苹果树.每年的春天,树上总 ...

  6. 什么是JavaScript的转义字符?譬如\n有什么作用?

    在JavaScript字符串中,反斜线(\)有着特殊的用途,反斜线后加一个字符,就不再表示它们的字面义了,比如\n就是一个转义字符(escape sequence),它表示的是一个换行符.在表格3-1 ...

  7. 一款超好用的第三方评论插件--Gitalk

    一,使用Gitalk的背景: 1.最近在做一个基于Java的个人博客系统,已经基本完工了,突然发现怎么没有评论的操作,如果再从头开始从数据库开始写的话,花费的代价有点大,于是乎我就在网上寻找一款适合我 ...

  8. 【洛谷2257/BZOJ2820】YY的GCD(数论/莫比乌斯函数)

    题目: 洛谷2257 预备知识:莫比乌斯定理(懵逼乌斯定理) \(\mu*1=\epsilon\)(证bu明hui略zheng) 其中(我校学长把\(\epsilon(x)\)叫单位函数但是为什么我没 ...

  9. ACM_最短网络(最小生成树)

    Problem Description: Farmer John has been elected mayor of his town! One of his campaign promises wa ...

  10. Struts之 拦截器配置 ( Interceptor )

    struts2体系结构的核心就是拦截器. 以链式执行,对真正要执行的方法(execute())进行拦截.首先执行Action配置的拦截器,在Action和Result执行之后,拦截器再一次执行(与先前 ...