Scrapyd、scrapyd-client部署爬虫项目
命令参考: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部署爬虫项目的更多相关文章
- scrapdy部署爬虫项目
原文:https://blog.csdn.net/JLaiRen/article/details/82902321 scrapyd安装 打开命令行工具输入命令:pip install scrapyd ...
- 第三百七十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目
第三百七十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目 scrapyd模块是专门用于部署scrapy项目的,可以部署和管理scrapy项目 下载地址:h ...
- 五十一 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目
scrapyd模块是专门用于部署scrapy项目的,可以部署和管理scrapy项目 下载地址:https://github.com/scrapy/scrapyd 建议安装 pip3 install s ...
- 爬虫部署 --- scrapyd部署爬虫 + Gerapy 管理界面 scrapyd+gerapy部署流程
---------scrapyd部署爬虫---------------1.编写爬虫2.部署环境pip install scrapyd pip install scrapyd-client 启动scra ...
- Scrapyd部署爬虫
Scrapyd部署爬虫 准备工作 安装scrapyd: pip install scrapyd 安装scrapyd-client : pip install scrapyd-client 安装curl ...
- Scrapyd 的远程部署和监控
1. 安装Scrapyd sudo pip3.6 install scrapyd # 安装scrapyd服务 sudo pip3.6 install scrapyd-client # 安装scrapy ...
- gerapy+scrapyd组合管理分布式爬虫
Scrapyd是一款用于管理scrapy爬虫的部署和运行的服务,提供了HTTP JSON形式的API来完成爬虫调度涉及的各项指令.Scrapyd是一款开源软件,代码托管于Github上. 点击此链接h ...
- 基于webmagic的爬虫项目经验小结
大概在1个月前,利用webmagic做了一个爬虫项目,下面是该项目的一些个人心得,贴在这里备份: 一.为什么选择webmagic? 说实话,开源的爬虫框架已经很多了,有各种语言(比如:python.j ...
- Python即时网络爬虫项目启动说明
作为酷爱编程的老程序员,实在按耐不下这个冲动,Python真的是太火了,不断撩拨我的心. 我是对Python存有戒备之心的,想当年我基于Drupal做的系统,使用php语言,当语言升级了,推翻了老版本 ...
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...
随机推荐
- cephadm快速部署指定版本ceph集群及生产问题处理
cephadm快速部署指定版本ceph集群及生产问题处理 目录 cephadm快速部署指定版本ceph集群及生产问题处理 1.虚拟机规划:centos8 2.ceph版本:(安装指定版本在源里面指定即 ...
- SonarQube系列-架构与外部集成
介绍 Sonar是一个代码质量管理的开源平台,基于Java开发的,用于管理源代码的质量,通过插件形式,可以支持包括java.C#.JavaScript等二十余种编程语言的代码质量管理与检测. 它具有免 ...
- 「tjoi 2018」智力竞赛
link. 这题数据应该蛮水的,直接把大于二分值的点去掉实际上应该是有问题的.然而题解区里都写的是这种做法,所以这里主要对如何处理大于二分值的点做分析. 注意这里大于二分值的点的意义是「可以走,但走了 ...
- 谱图论:Laplacian二次型和Markov转移算子
以下部分是我学习CMU 15-751: TCS Toolkit的课堂笔记.由于只是个人笔记,因此许多地方在推导上可能不那么严谨,还望理论大佬多多包涵. 1 问题定义 1.1 无向图\(G\) 在本文中 ...
- .Net析构函数再论(CLR源码级的剖析)
前言 碰到一些问题,发觉依旧没有全面了解完全析构函数.本篇继续看下析构函数的一些引申知识. 概述 析构函数目前发现的总共有三个标记,这里分别一一介绍下.先上一段代码: internal class P ...
- idea修改默认maven配置
idea修改默认maven配置 方法一 (不推荐) 打开project.default.xml文件,在其中加入如下几行配置. 代码如下 保存修改之后新建一个maven项目查看效果 方法二 新增Proj ...
- 是因为不同的浏览器内核吗--Could not register service workers到底是怎么回事
什么是浏览器内核 浏览器内核(Rendering Engine),是浏览器最核心的部分. 它负责处理网页的HTML.CSS.JavaScript等代码,并将其转化为可视化的网页内容.即我们常说的对网页 ...
- VLAN虚拟网络
VLAN 名称:vlan 虚拟局域网(virtual LAN) 用途 由于交换机所有的端口都在同一广播域,只要发送广播会产生大量的垃圾信息,同时会有病毒的安全隐患(病毒). 为了解决上述问题 1.物理 ...
- 技术向:一文读懂卷积神经网络CNN(转)
目录(?)[-] 卷积神经网络 神经网络 卷积神经网络 1 局部感知 2 参数共享 3 多卷积核 4 Down-pooling 5 多层卷积 ImageNet-2010网络结构 DeepID网络结构 ...
- [Python急救站课程]猴子吃桃问题
问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个:第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后,每天早上都吃了前一天剩下的一半多一个.到了第五天早上想再吃时,见只剩下一个桃 ...