命令参考:https://github.com/scrapy/scrapyd-client

https://scrapyd.readthedocs.io

安装组件

pip install scrapyd
pip install scrapyd-client

Scrapyd服务器端

服务器端是可以有多个的,你爱多少个就搞多少个服务器端。部署scrapy时,可以手动指定部署到那个目标服务器端中。

scrapyd配置文件:

https://scrapyd.readthedocs.io/en/latest/config.html

可以支持基础的http basic认证。

最多也就是改一下监听的IP地址和端口。

启动服务器端:

scrapyd

Scrapyd-client客户端

提供了

Command line tools命令行工具:

  • scrapyd-deploy, to deploy your project to a Scrapyd server。

    • 用于部署scrapy项目到scrapyd服务器中。
  • scrapyd-client, to interact with your project once deployed。
    • 用于与部署后的项目进行交互、管理。

Python client:

  • ScrapydClient, to interact with Scrapyd within your python code

    • 用于自己编写python代码与scrapyd服务器交互。(除非你有特殊需求,比如自己开发web管理,否则用不上啦)

部署项目实例(这里只是部署,启动时另外一回事)

  • 确保scrapyd服务端已经启动。
  • 修改项目的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 = zolwallpaper.settings ;[deploy] ;默认是只有一个项目的,如果有多个项目和目标服务器,则用deploy:target来区分
;demo1 是指定目标服务器端的名字
[deploy:demo1]
; 这个URL指定的是scrapyd服务器的URL地址
url = http://localhost:6800/
; 如果你的scrapyd服务器端开启了http basic认证,则在这里填写密码
; username = scrapy
; password = secret
# 项目名
project = zolwallpaper
  • cd到项目的根目录,执行命令:
scrapyd-deploy <target> -p <项目名>

target:可要可不要,不填默认为default,如果要填就填你自己设置的,比如我这里设置demo1
项目名:是你在scrapy.cfg中设置的名称
例如:
(venv) PS C:\Users\Administrator\PycharmProjects\zolwallpaper>scrapyd-deploy.exe demo1 -p zolwallpaper
Packing version 1687237821
Deploying to project "zolwallpaper" in http://localhost:6800/addversion.json
Server response (200):
{"node_name": "xxxx", "status": "ok", "project": "zolwallpaper", "version": "1687237821", "spiders": 2}

scrapy-deploy部署命令

部署项目到某个目标服务器:

scrapyd-deploy <target> -p <项目名>

target:不指定的话就默认给你命名为default

部署项目到所有可用的目标服务器

scrapyd-deploy -a -p <project>

列出所有的可用的scrapyd服务器列表

命令:
scrapyd-deploy -l 案例:
(venv) PS C:\Users\Administrator\PycharmProjects\zolwallpaper> scrapyd-deploy.exe -l
demo1 http://localhost:6800/

列出某个目标服务器下的所有项目

scrapyd-deploy -L example

案例:
(venv) PS C:\Users\Administrator\PycharmProjects\zolwallpaper> scrapyd-deploy.exe -L demo1
zolwallpaper
default

scrapy-client管理命令

搞清楚几个概念:

target:scrapyd服务器端;

project:爬虫项目;

一个项目下可以有多个爬虫。

常用命令:

列出当前的所有爬虫项目

命令:
scrapyd-client projects scrapyd-client -t http://127.0.0.1:6800 projects 案例:
(venv) PS C:\Users\Administrator\PycharmProjects\zolwallpaper> scrapyd-client -t http://127.0.0.1:6800 projects
zolwallpaper
default

列出指定目标服务下的某个项目的所有爬虫

命令:
scrapyd-client spiders -p [项目名称] scrapyd-client.exe [-t http://127.0.0.1:6800] spiders -p zolwallpaper 案例:
(venv) PS C:\Users\Administrator\PycharmProjects\zolwallpaper> scrapyd-client.exe spiders -p zolwallpaper
zolwallpaper: # 项目名
bang123 # 该项目下的爬虫
zol # 该项目下的爬虫

运行爬虫

方式一:通过scrapyd-client(这玩意其实就是封装了scrapyd的api....)

scrapyd-client schedule -p [项目名] [爬虫名]

**# 可以动态的传递settings某个设置,然后你就可以在爬虫中读取某个设置项的值,从而实现动态爬虫你想要的关键字等功能**
scrapyd-client schedule -p zolwallpaper bang123** --args 'setting=DOWNLOADER_MIDDLEWARES={"my.middleware.MyDownloader": 610}'**
# CURL版:curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1 案例:
scrapyd-client -t http://127.0.0.1:6800 schedule -p zolwallpaper bang123

他妈的,没有关闭爬虫的?做这个开发的人你多一个功能会死....?

所以只能用scrapyd自带的api来取消正在运行的爬虫

https://scrapyd.readthedocs.io/en/latest/api.html#cancel-json

发送post请求:

http://127.0.0.1:6800/cancel.json?job=<任务ID>&project=<项目名>

Scrapyd、scrapyd-client部署爬虫项目的更多相关文章

  1. scrapdy部署爬虫项目

    原文:https://blog.csdn.net/JLaiRen/article/details/82902321 scrapyd安装 打开命令行工具输入命令:pip install scrapyd ...

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

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

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

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

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

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

  5. Scrapyd部署爬虫

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

  6. Scrapyd 的远程部署和监控

    1. 安装Scrapyd sudo pip3.6 install scrapyd # 安装scrapyd服务 sudo pip3.6 install scrapyd-client # 安装scrapy ...

  7. gerapy+scrapyd组合管理分布式爬虫

    Scrapyd是一款用于管理scrapy爬虫的部署和运行的服务,提供了HTTP JSON形式的API来完成爬虫调度涉及的各项指令.Scrapyd是一款开源软件,代码托管于Github上. 点击此链接h ...

  8. 基于webmagic的爬虫项目经验小结

    大概在1个月前,利用webmagic做了一个爬虫项目,下面是该项目的一些个人心得,贴在这里备份: 一.为什么选择webmagic? 说实话,开源的爬虫框架已经很多了,有各种语言(比如:python.j ...

  9. Python即时网络爬虫项目启动说明

    作为酷爱编程的老程序员,实在按耐不下这个冲动,Python真的是太火了,不断撩拨我的心. 我是对Python存有戒备之心的,想当年我基于Drupal做的系统,使用php语言,当语言升级了,推翻了老版本 ...

  10. 使用uWSGI+nginx部署Django项目

    最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...

随机推荐

  1. MySQL 表分区使用实践

    在使用 MySQL 8.0 表分区时,需要注意以下一些关键事项和最佳实践: 支持的存储引擎: MySQL 8.0 表分区仅支持一些特定的存储引擎,如 InnoDB 和 NDB(NDB 是 MySQL ...

  2. MySQL高级12-事务原理

    一.事务概念 事务是一组操作的集合,他是一个不可分割的工作单位,事务会把所有操作作为一个整体一起向系统提交或者撤销请求操作,即这些操作要么同时成功,要么同时失败. 二.事务特性 原子性(Atomici ...

  3. oracle-查看oracle当前连接数,会话数

    查看当前系统允许的进程连接数:方法一: show parameter process; 查看processes一列 方法二: select name,value from v$parameter wh ...

  4. [知识管理] Obsidian + Remotely Save插件 + 第三方存储/OSS(七牛云)的同步方案

    0 序言 在几经选择.对比之后,我选择:Obsidian + Remotely Save插件 + 第三方存储/OSS(七牛云) 的方案来搭建自己的[知识管理系统]. 对比分析知识管理工具的过程,详情参 ...

  5. DevOps2023现状报告|注重文化、以用户为中心是成功的关键

    Google Cloud DORA 团队的一份新研究报告强调了企业文化和关注用户作为成功软件交付支柱的重要性. 2023 DevOps 状况报告分析了过去 9 年来通过此类最大规模调查收集的全球 36 ...

  6. db-cdc之mysql 深入了解并使用binlog

    1.什么是binlog? 2.binlog可以用来干什么? 3.怎么样使用binlog? binlog是记录所有数据库表结构变更(例如CREATE.ALTER TABLE-)以及表数据修改(INSER ...

  7. Windows虚拟机环境下Linux设置固定IP地址

    Linux 设置固定IP地址 安装环境是VMware Workstation Pro 15 安装完linux之后需要做的第一件事就是配置网络,有了网络我们可以下载插件,使用xshell工具连接等等 i ...

  8. flyod

    最开始看错数据了没看到Q = 100 是50%的数据以为跑q遍floyd能过,结果只有30,其他全t 1.要注意题目中的条件,挖掘一些性质 var code = "92ce4972-7e0f ...

  9. 【Java集合】单列集合Collection常用方法详解

    嗨~ 今天的你过得还好吗? 路途漫漫终有一归, 幸与不幸都有尽头. 在上篇文章中,我们简单介绍了下Java 集合家族中的成员,那么本篇文章,我们就来看看 Java在单列集合中,为我们提供的一些方法,以 ...

  10. APP攻防--安卓逆向&数据修改&逻辑修改&视图修改

    APP攻防--安卓逆向&数据修改&逻辑修改&视图修改 @ 目录 APP攻防--安卓逆向&数据修改&逻辑修改&视图修改 工具集 apk目录意义 逆向数据修 ...