scrapy项目部署

scrapyd部署工具介绍

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

所谓json api本质就是post请求的webapi

  • 选择一台主机当做服务器,安装并启动 scrapyd 服务。再这之后,scrapyd 会以守护进程的方式存在系统中,监听爬虫地运行与请求,然后启动进程来执行爬虫程序。

环境安装

  • scrapyd服务:

pip install scrapyd

  • scrapyd客户端:

pip install scrapyd-client

​ 一定要安装较新的版本10以上的版本,如果是现在安装的一般都是新版本

启动scrapyd服务

  • 打开终端在scrapy项目路径下 启动scrapyd的命令: scrapyd

  • scrapyd 也提供了 web 的接口。方便我们查看和管理爬虫程序。默认情况下 scrapyd 监听 6800 端口,运行 scrapyd 后。在本机上使用浏览器访问 http://localhost:6800/地址即可查看到当前可以运行的项目。

  • 点击job可以查看任务监控界面

scrapy项目部署

配置需要部署的项目
  • 编辑需要部署的项目的scrapy.cfg文件(需要将哪一个爬虫部署到scrapyd中,就配置该项目的该文件)

[deploy:部署名(部署名可以自行定义)]
url = http://localhost:6800/
project = 项目名(创建爬虫项目时使用的名称) username = dream # 如果不需要用户名可以不写
password = 123456 # 如果不需要密码可以不写
部署项目到scrapyd
  • 同样在scrapy项目路径下执行如下指令:

    #pycharm
    scrapyd-deploy 部署名(配置文件中设置的名称) -p 项目名称
  • 部署成功之后就可以看到部署的项目

  • 使用以下命令检查部署爬虫结果:

    • #pycharm
      scrapyd-deploy -L 部署名

管理scrapy项目

指令管理
  • 安装curl命令行工具

    • window需要安装
    • linux和mac无需单独安装
  • window安装步骤:

  • 启动项目:

    curl http://localhost:6800/schedule.json -d project=项目名 -d spider=爬虫名
    • 返回结果:注意期中的jobid,在关闭项目时候会用到

      • {"status": "ok", "jobid": "94bd8ce041fd11e6af1a000c2969bafd", "node_name": "james-virtual-machine"}
  • 关闭项目:

    • curl http://localhost:6800/cancel.json -d project=项目名 -d job=项目的jobid
  • 删除爬虫项目:

    • curl http://localhost:6800/delproject.json -d project=爬虫项目名称
requests模块控制scrapy项目
import requests

# 启动爬虫
url = 'http://localhost:6800/schedule.json'
data = {
'project': 项目名,
'spider': 爬虫名,
}
resp = requests.post(url, data=data) # 停止爬虫
url = 'http://localhost:6800/cancel.json'
data = {
'project': 项目名,
'job': 启动爬虫时返回的jobid,
}
resp = requests.post(url, data=data)

Day 22 22.2:scrapy部署的更多相关文章

  1. scrapy爬虫学习系列三:scrapy部署到scrapyhub上

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

  2. 第8月第22天 python scrapy

    1. cd /Users/temp/Downloads/LagouSpider-master ls ls ls lagou/settings.py cat lagou/settings.py ls p ...

  3. (22)C#windows打包部署

    程序做好后需要打包部署后才能使用 一.创建安装项目 解决方案右键-添加-新建项目-其他项目类型-安装和部署-双击进入文件系统. 二.制作安装程序 一个完整的安装程序包括项目输出文件.内容文件.桌面快捷 ...

  4. centos环境的python、scrapy部署

    1 操作系统 Centos 6.5 64bit 或以上版本 2 软件环境 提示:(1)用什么软件:(2)运行环境(3)开发包. Python:Python-2.7.6.tgz Scrapy:Scrap ...

  5. scrapy 部署

    下面简单介绍两种部署的方式,第一种也是我们最常用的crontab定时任务+日志,第二种则是scrapyd部署. 遇到的第一个问题,就是如何将编写好的spider启动: 最简单的方式: 1.在spide ...

  6. 【爬虫】将 Scrapy 部署到 k8s

    一. 概述 因为学习了 docker 和 k8s ,不管什么项目都想使用容器化部署,一个最主要的原因是,使用容器化部署是真的方便.上一篇文章 [爬虫]从零开始使用 Scrapy 介绍了如何使用 scr ...

  7. 人体调优不完全指南「GitHub 热点速览 v.22.22」

    本周特推又是一个人体调优项目,换而言之就是如何健康生活,同之前的 HowToLiveLonger研究全因死亡率不同,这个项目更容易在生活中实践,比如,早起晒太阳这么一件"小事"便有 ...

  8. 如何将Scrapy 部署到Scrapyd上?

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

  9. java 22 - 22 多线程之 匿名内部类的方式实现多线程

    首先回顾下之前的匿名内部类: 匿名内部类的格式: new 接口或者接口名(){ 重写方法 }; 本质:是该类或者接口的子类对象 匿名内部类方式使用多线程 1.new Thread(){代码-}.sta ...

  10. 之前有面试到两个日期的大小比较方式,现在整理一下几种方法。   例子:   String beginTime=new String("2017-06-09 10:22:22");     String endTime=new String("2017-05-08 11:22:22");  1  直接用Date自带方法before()和after()比较 SimpleDateFormat d

    各种数据类型(日期/时间.integer.floating point和numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成指定的数据类型.下面列出了这些函数,它们都遵循一个公共的调用 ...

随机推荐

  1. ES搜索- term与match区别&bool查询

    term属于精确匹配,只能查单个词,tems可以匹配多个词(满足其中之一词的都会被搜索出来),多个词如果要同时匹配使用bool的must(must中带多个term): match进行搜索的时候,会先进 ...

  2. 记一次SpringBoot整合WebSocket 找不到ServerEndpointExporter类的问题

    package com.mengxiangnongfu.cms.framework.configure; import org.springframework.context.annotation.B ...

  3. oralce 语句指定的转换无效

    公司的小师妹出现了个问题   让我帮忙看一下 在plsql 中查询语句没问题, 但是放到程序中会提示指定的转换无效  是因为存在无限小数  加上round(JJYHL,2) JJYHL就可以了

  4. idea快捷的输出常用语句

    sout:System.out.println(); psvm:public static void main(String[] args) {}

  5. leecode64. 最小路径和(动态规划)

    64. 最小路径和 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例 1: 输入:gri ...

  6. 自定义Lock实现

    1 package com.wyt.lock.test; 2 3 import java.util.concurrent.LinkedBlockingQueue; 4 import java.util ...

  7. c# string.format 中使用$的坑

    string a = "hello}"; string s = string.Format($"{a}"); 上面这种情况,会报格式错误,会把hello}中的} ...

  8. supervisor+gunicorn+uvicorn部署fastapi项目

    一.编写一个项目 本项目是在虚拟环境下的: 先启动虚拟环境:source .venv/bin/activate.(创建虚拟环境自己去找) 项目用于演示,所以非常简单, 在虚拟环境中安装需要的第三方库: ...

  9. Jupyter notebook upload无法加载本地ipynb文件

    可能是本地浏览器(IE)问题,修改默认浏览器.

  10. 直播软件搭建,姓名,身份证input验证过滤

    直播软件搭建,姓名,身份证input验证过滤 姓名验证:需求,可输入英文.汉字 for(let i=0;i<e.length;i++){  if(/^[a-zA-Z\u4e00-\u9fa5]+ ...