Scrapyd部署爬虫项目

github项目
 https://github.com/scrapy/scrapyd 
 
官方文档
 http://scrapyd.readthedocs.org/ 
 
安装scrapyd
 http://scrapyd.readthedocs.io/en/stable/install.html 
 
运行
# 在虚拟环境中使用scrapd命令

# scrapyd是一个服务器监听在本地的6800端口

scrapyd
安装scrapd客户端
pip install scrapyd-client

# 用于项目打包

# python路径的Script目录下发现生成了一个scrapyd-deploy的文件
打包项目到scrapyd中
编辑scrapy.cfg
# 打开scrapyd服务

    [deploy:name]
url = http://localhost:6800/
project = ArticleSpider
进入爬虫项目目录
 cd E:\Python Project\scrapyproject\ArticleSpider 
运行scrapyd-deploy文件
# 由于没有后缀不能运行

# 解决办法:新建一个文件scrapd-deploy.bat,写入下面数据

@echo off

"E:\Python Project\venvdir\scrapyenv3\Scripts\python.exe" "E:\Python Project\venvdir\scrapyenv3\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9 

# 再次执行发现可以使用了

scrapyd-deploy -l 

# 默认自己读取scrapy.cfg内容

# 如果出现importError问题注意

# import sys
# BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(__file__)))
# sys.path.insert(0, os.path.join(BASE_DIR, 'ArticleSpider')) # 打包spider项目 scrapyd-deploy name -p ArticleSpider # E:\Python Project\venvdir\scrapyenv3\Scripts\eggs\ArticleSpider\xxxx.egg # scrapyd-deploy将项目打包成一个后缀为egg的文件,发送到scrapyd服务器
部署项目
接口认识
 http://scrapyd.readthedocs.io/en/stable/api.html 
部署命令
curl http://localhost:6800/schedule.json -d project=ArticleSpider -d spider=myspider

# 返回 {"status": "ok", "jobid": "6487ec79947edab326d6db28a2d86511e8247444"}

# 刷新scrapy管理页面可以发现新的项目

项目管理

参考官方文档

 
 
 
 
 
 

Scrapy学习-25-Scrapyd部署spider的更多相关文章

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

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

  2. scrapy 项目通过scrapyd部署

    年前的时候采用scrapy 爬取了某网站的数据,当时只是通过crawl 来运行了爬虫,现在还想通过持续的爬取数据所以需要把爬虫部署起来,查了下文档可以采用scrapyd来部署scrapy项目,scra ...

  3. 五十一 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目

    scrapyd模块是专门用于部署scrapy项目的,可以部署和管理scrapy项目 下载地址:https://github.com/scrapy/scrapyd 建议安装 pip3 install s ...

  4. Scrapyd部署爬虫

    Scrapyd部署爬虫 准备工作 安装scrapyd: pip install scrapyd 安装scrapyd-client : pip install scrapyd-client 安装curl ...

  5. Python 爬虫之 Scrapy 分布式原理以及部署

    Scrapy分布式原理 关于Scrapy工作流程 Scrapy单机架构 上图的架构其实就是一种单机架构,只在本机维护一个爬取队列,Scheduler进行调度,而要实现多态服务器共同爬取数据关键就是共享 ...

  6. scrapy学习(完全版)

    scrapy1.6中文文档 scrapy1.6中文文档 scrapy中文文档 Scrapy框架 下载页面 解析页面 并发 深度 安装 scrapy学习教程 如果安装了anconda,可以在anacon ...

  7. 爬虫部署 --- scrapyd部署爬虫 + Gerapy 管理界面 scrapyd+gerapy部署流程

    ---------scrapyd部署爬虫---------------1.编写爬虫2.部署环境pip install scrapyd pip install scrapyd-client 启动scra ...

  8. scrapyd部署、使用Gerapy 分布式爬虫管理框架

    Scrapyd部署爬虫项目 GitHub:https://github.com/scrapy/scrapyd API 文档:http://scrapyd.readthedocs.io/en/stabl ...

  9. Scrapy学习篇(十)之下载器中间件(Downloader Middleware)

    下载器中间件是介于Scrapy的request/response处理的钩子框架,是用于全局修改Scrapy request和response的一个轻量.底层的系统. 激活Downloader Midd ...

随机推荐

  1. python 2.7版本解决TypeError: 'encoding' is an invalid keyword argument for this function

    今天在用yaml处理数据时,由于yaml.load可接收一个byte字符串,unicode字符串,打开的二进制文件或文本文件对象,但字节字符串和文件必须是utf-8,utf-16-be或utf-16- ...

  2. LightOJ - 1341 Aladdin and the Flying Carpet(数论)

    题意 有一块矩形(也可能是正方形)的飞毯. 给定飞毯的面积\(n\)和最小可能的边长\(a\),求可能有多少种不同边长的飞毯.(\(1<=a<=n<=1e12\)) 如面积\(n=6 ...

  3. nova boot添加volume_type参数支持

    早前由于添加了全SSD的高性能Ceph集群,区别于现有的HDD集群,在OpenStack端需要能够选择使用两种集群.Cinder配置多Ceph后端的文档早已整理,整理文件夹时发现这篇为nova boo ...

  4. Unity 与Mono和.Net的关系

    一.分析 首先,我们要知道Unity,Mono,.Net 三者的关系.需要简单说一下.Net. .Net拥有跨语言,跨平台性. 跨语言:就是只要是面向.Net平台的编程语言,用其中一种语言编写的类型就 ...

  5. Python虚拟机类机制之descriptor(三)

    从slot到descriptor 在Python虚拟机类机制之填充tp_dict(二)这一章的末尾,我们介绍了slot,slot包含了很多关于一个操作的信息,但是很可惜,在tp_dict中,与__ge ...

  6. cglib动态代理之原理说明

    cglib采用了非常底层的字节码技术,通过目标类的字节码,为目标类创建子类,并在子类中用方法拦截技术,拦截所有父类方法的调用,并对拦截方法进行增强. 1)底层采用字节码框架ASM,来转换字节码来生成新 ...

  7. cf982d Shark

    ref #include <algorithm> #include <iostream> #include <cstdio> #include <map> ...

  8. Your branch is ahead of 'origin/master' by 21 commits.

    当切换到主分支后,准备 git pull 拉取远程 master 分支时,提示本地主分支显示有 21 个commits 问题原因: 因为你修改了 local master 本地的主分支,可以选择以下方 ...

  9. redis 集群分配哈希曹

    重新分配哈希曹: ip:port 为当前redis集群任意节点ip和port redis-cli --cluster reshard ip:port 操作如图: 分配哈希槽有两种方式: 1.在其他节点 ...

  10. JS判断是否是IE浏览器的几种方式

    1.得到浏览器的信息,返回由客户机发送服务器的 user-agent 头部的值. if(navigator.userAgent.indexOf("MSIE 8.0")>0){ ...