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 ...
随机推荐
- ATtiny88初体验(六):SPI
ATtiny88初体验(六):SPI SPI介绍 ATtiny88自带SPI模块,可以实现数据的全双工三线同步传输.它支持主从两种模式,可以配置为LSB或者MSB优先传输,有7种可编程速率,支持从空闲 ...
- Jquery ajax方式提交表单
Jquery ajax方式提交表单,目前用过的有两种方式: 1.引人jquery.js和jquery.easyui.min.js后,用下面的方法: $('#checkForm1').form('sub ...
- 拯救“消失的她”——双系统grub完美恢复方案
双系统grub意外消失怎么办? 不用重装系统.不用去维修店.不会丢数据,教你一招,完美恢复grub! 背景 我的电脑是windows和linux双系统,启动项使用的grub.某天准备切换linux时突 ...
- 在阿里云上部署Solid服务器
1.Solid是什么? Solid(中文文档)是一个令人兴奋的新项目,由万维网发明者 Tim Berners-Lee 爵士在麻省理工学院启动. 该项目旨在从根本上改变 Web 应用程序的中心化趋势, ...
- Cplex混合整数规划求解(Python API)
绝对的原创!罕见的Cplex-Python API混合整数规划求解教程!这是我盯了一天的程序一条条写注释一条条悟出来的•́‸ก 一.问题描述 求解有容量限制的的设施位置问题,使用Benders分解.模 ...
- Python面试题——面向对象题
1.简述面向对象的三大特性. 封装: 封装指的是把一堆数据属性与方法数据放在一个容器中,这个容器就是对象.让对象可以通过 "." 来调用对象中的数据属性与方法属性. 继承: 继承指 ...
- css中的字体样式
一.字体的样式 font-style:"normal" 正常 font-style:"italic"斜体 二.字体的粗细 font-weight:"b ...
- Linux第一次周总结
第一章 初识 Linux 1.Linux简介 Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统 ...
- FFMPEG+SDL简单视频播放器——人脸检测
前言 最近突发奇想,给播放器加上一个人脸检测的功能(事情似乎朝着奇怪的方向发展了,谁家的播放器会需要去检测人脸啊!),主要的目的是为了学习opencv,尝试将ffmpeg和opencv融合在一起使用. ...
- 自研、好用、够快、稳定、代码可读性强的ORM
Fast Framework 作者 Mr-zhong 代码改变世界.... 一.前言 Fast Framework 基于NET6.0 封装的轻量级 ORM 框架 支持多种数据库 SqlServer O ...