---------scrapyd部署爬虫---------------
1.编写爬虫
2.部署环境
pip install scrapyd
pip install scrapyd-client
启动scrapyd的服务:cmd:>scrapyd(必须处于开启状态)
在爬虫根目录执行:scrapyd-deploy,如果提示不是内部命令,需要修改配置文件。

3.发布工程到scrapyd
修改scrapy.cfg,去掉url前的#
进入到scrapy项目根目录,执行:scrapyd-deploy <target> -p <projectname>提示:(target:scrapy.cfg中[deploy:***])(projectname:scrapy.cfg中project = XXX)
(#url中的#去掉)
4.启动爬虫
第一种方法:Django中view.py
class StartSpider(View):
def get(self,request):
url = 'http://localhost:6800/schedule.json'
data = {'project': 'ScrapyAbckg', 'spider': 'abckg'}
print( requests.post(url=url, data=data))
return JsonResponse({'result':'OK'})
第二种方法:(命令式启动爬虫:curl http://localhost:6800/schedule.json -d project=项目名 -d spider=爬虫名)

5.启动django
cmd:python manage.py runserver

----------------scrapyd 管理爬虫接口----------------------
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://localhost: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})

9.取消运行中的爬虫
http://127.0.0.1:6800/cancel.json
(post方式,data={"project":myproject,"job":jobid})

--------------django+scrapy-----------------------------
1.创建django项目,并编写models.py,启动django项目

2.Django项目根目录下创建Scrapy项目
(这是scrapy-djangoitem所需要的配置)
配置Django嵌入,在Scrapy的settings.py中加入以下代码:
import os
import sys
sys.path.append(os.path.dirname(os.path.abspath('.')))
os.environ['DJANGO_SETTINGS_MODULE'] = 'django项目名.settings'
import django
django.setup()

3.编写爬虫
4.item.py中引入Django模型类(pip install scrapy-djangoitem)
from scrapy_djangoitem import DjangoItem
from 子应用 import models
class ScrapyabckgItem(DjangoItem):
# 此处必须起名为django_model,主爬虫中使用item['title']=xxx
django_model = models.AbckgModel

5.pipelines.py中调用save()
class ScrapyabckgPipeline(object):
def process_item(self, item, spider):
# 插入到数据库
item.save()
return item #将item传给下一个管道继续处理

6.启动爬虫(用命令,并非scrapyd启动):scrapy crawl abckg
7.刷新django-admin后台

---------------Gerapy 管理界面--------------

安装:

pip install gerapy
配置环境变量:
C:\Users\Administrator\AppData\Roaming\Python\Python36\Scripts
>gerapy init 初始化工作目录
>cd gerapy
>gerapy migrate 迁移生成数据库
>gerapy runserver 启动服务
http://127.0.0.1:8000 访问界面
---------------Gerapy 管理界面使用--------------
添加client:连接远程或本机的scrapyd服务(前提是scrapyd处于开启状态)
添加Projects:将scarpy项目直接放到 /gerapy/projects,刷新页面

为什么部署呢?
部署会让项目更稳定,更高效,增大访问量

scrapyd部署 和 gerapy部署 的区别
相比scrapyd部署的只能查看状态,页面简陋 gerapy更人性化,页面简洁,可操作性强

总结流程:

1启动scrapyd:

  命令:scrapyd

2启动gerapy:

  命令:gerapy runserver

3部署爬虫scrapy 到 scrapyd,在爬虫根目录发布爬虫:

  命令: scrapyd-deploy <target> -p 项目名称

4访问gerapy:

  地址:127.0.0.1:8000

5在gerapy页面 :

  主机管理 --》创建 --》连接scrapyd

6在gerapy页面 :

  点击调度 -----》 会展示出所有的已发布爬虫

7随意对这些爬虫进行 监管,运行

ok! 搞定啦!CentOs 部署爬虫在 linux 下同理,只是ip不同罢了 就这!

爬虫部署 --- scrapyd部署爬虫 + Gerapy 管理界面 scrapyd+gerapy部署流程的更多相关文章

  1. Solr7 安装部署 管理界面介绍

    Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Que ...

  2. scrapy抓取拉勾网职位信息(八)——使用scrapyd对爬虫进行部署

    上篇我们实现了分布式爬取,本篇来说下爬虫的部署. 分析:我们上节实现的分布式爬虫,需要把爬虫打包,上传到每个远程主机,然后解压后执行爬虫程序.这样做运行爬虫也可以,只不过如果以后爬虫有修改,需要重新修 ...

  3. Scrapyd 项目爬虫部署

    scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API来部署爬虫项目和控制爬虫运行 scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们 安装扩展 ...

  4. Docker Compose 一键部署多节点爬虫程序

    Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...

  5. Scrapyd发布爬虫的工具

    Scrapyd Scrapyd是部署和运行Scrapy.spider的应用程序.它使您能够使用JSON API部署(上传)您的项目并控制其spider. Scrapyd-client Scrapyd- ...

  6. 《暗黑世界GM管理后台系统》部署+功能说明文档

    http://www.9miao.com/product-10-1073.html <暗黑世界GM管理后台系统>部署+功能说明文档 <暗黑世界GM管理后台系统>部署+功能说明文 ...

  7. 2017.2.28 activiti实战--第五章--用户与组及部署管理(三)部署流程及资源读取

    学习资料:<Activiti实战> 第五章 用户与组及部署管理(三)部署流程及资源读取 内容概览:如何利用API读取已经部署的资源,比如读取流程定义的XML文件,或流程对应的图片文件. 以 ...

  8. Docker部署Portainer搭建轻量级可视化管理UI

    1. 简介   Portainer是一个轻量级的可视化的管理UI,其本身也是运行在Docker上的单个容器,提供用户更加简单的管理和监控宿主机上的Docker资源. 2. 安装Docker   Doc ...

  9. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

随机推荐

  1. go context源码解析

    go 的context贯穿整个goroutine的运行控制的中枢,可以实现执行的生命周期的控制. Context是一个接口,他派生了context.emptyCtx(TODO),cancelCtx,t ...

  2. 【C/C++开发】运算符重载

    c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁.高效.在c++中不止函数可以重载,运算符也可以重载.由于一般数据类型间的运算符没有重载的必要, ...

  3. windows服务器入门 php的安装

    下载PHP安装包(下载地址: http://windows.php.net/download/ ),本文档以5.3版本为例,选择如下图对应的安装包: 下载完成后进行安装PHP,需要选择Web服务时,选 ...

  4. 49.Django起步学习

    django起步 django安装 pip install django==2.0.4(版本号) pip install django 默认安装最新版本 创建项目 django-admin start ...

  5. python 列表List - python基础入门(13)

    列表是python开发过程中最常用的数据类型之一,列表俗称:list ,特点如下: 1.列表由一个或者多个数据构成,数据的类型可以不相同也可以相同: 2.列表中的数据需要写在[]中括号内部,数据与数据 ...

  6. Linux下的静态库与动态库的生成与调用

    静态库与动态库 静态函数库 这类库的名字一般是libxxx.a,xxx为库的名字.利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行 ...

  7. 顺序表添加与删除元素以及 php实现顺序表实例

    对顺序表的操作,添加与删除元素. 增加元素 如下图所示  对顺序列表 Li [1328,693,2529,254]  添加一个元素 111 ,有三种方式: a)尾部端插入元素,时间复杂度O(1);  ...

  8. windows安装memcache并为php添加memcache扩展

    第一步:安装包下载 1.4.5 版本之前用作为一个服务安装,1.4.5 版本之后用任务计划中启用一个普通进程来使用 具体内容如以下链接:http://www.runoob.com/memcached/ ...

  9. Spring Cloud Ribbon说明

    浅谈Spring Cloud Ribbon的原理 Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现.通过Spring Clo ...

  10. 跟我一起学编程—《Scratch编程》第24课:幸运大转盘

    同学你好,欢迎来到<跟我一起学编程>,我是包老师.这是<Scratch3.0编程>课程的第24课,我这节课教你做一个抽奖游戏:幸运大转盘. 学习目标: 1. 能够熟练使用造型工 ...