爬虫工作量由小到大的思维转变---<第四十四章 Scrapyd 用gerapy管理多台机器爬虫>

news2024/11/17 21:55:53

前言:

之前讲过关于如何在gerapy中部署本地爬虫,

爬虫工作量由小到大的思维转变---<第三十四章 Scrapy 的部署scrapyd+Gerapy>_gerapy如何登录-CSDN博客

爬虫工作量由小到大的思维转变---<第三十五章 Scrapy 的scrapyd+Gerapy 部署爬虫项目>_scrapy 部署到gerapy-CSDN博客

这次讲讲,如何把不同服务器上的爬虫部署到gerapy上面!!!

正文:

要让 Gerapy 管理两台电脑上的爬虫,需要保证 Gerapy 能够访问这两台电脑上运行的 Scrapyd 服务。默认情况下,Scrapyd 绑定在 127.0.0.1 上,这意味着它只监听来自本地机器的请求。要使其能够接受远程机器(如 Gerapy 所在机器)的请求,需要修改 Scrapyd 的配置以便它绑定在一个外部可访问的 IP 地址或 0.0.0.0(意味着监听所有可用的网络接口)。

​​​​​​​

步骤:

1.修改 Scrapyd 配置文件

(默认位置在 /etc/scrapyd/scrapyd.conf,如果不存在,可能需要在 Scrapyd 安装目录下手动创建一个)。

在单独的项目文件夹里

1.虚拟环境里的scrapy.conf文件需要自己手动创建!
2.相关配置信息,如下:
[scrapyd]
# 配置部分开始

eggs_dir    = eggs
# eggs目录用于存储上传的Scrapy项目的egg包(Python的二进制分发格式)。
# 这些egg包是通过Scrapyd的API上传的,Scrapyd会从中运行Scrapy爬虫。

logs_dir    = logs
# 日志目录用于存储Scrapyd运行爬虫的日志文件。

items_dir   = items
# 存放爬取项目产生的数据文件(items)的目录。
# 这个目录通常在使用Scrapy的Feed exports时指定文件路径时使用。

jobs_to_keep = 5
# 指定Scrapyd服务在其数据库中保留已完成工作的数量。
# 当完成新的爬虫作业时,超出此数量的最旧记录将从数据库中删除。

dbs_dir     = dbs
# 存储Scrapyd使用的SQLite数据库的目录。
# 这些数据库包含了作业的状态信息和其他元数据。

bind_address = 192.168.2.1
# 绑定地址,指定Scrapyd监听的网络接口。
# 设为0.0.0.0表示监听所有网络接口,允许从任何机器访问Scrapyd服务。

http_port   = 6800
# 指定Scrapyd服务监听的HTTP端口号。
# 通过这个端口可以访问Scrapyd的Web界面和API。
3.保存的scrapyd.conf的文件位置:

放在与venv文件夹同级的地方,图例:

2.在 [scrapyd] 部分中,找到 bind_address 配置项,

将其修改为以下任一选项:

使其绑定在特定的外部 IP 地址上,如电脑 A 或 B 的 IP 地址。例如,对于电脑 A,可以设置为:bind_address = 192.168.2.1

或者,使其绑定在所有地址上:bind_address = 0.0.0.0

3.保存配置文件并重启 Scrapyd 服务以应用更改。

    1.重启scrapyd:

                1.找到 Scrapyd 进程ID:
tasklist | findstr scrapyd

               2.使用从上一步得到的进程ID,替换 <PID>:

taskkill /PID <PID> /F
图例:

        2.启动scrapyd

                cmd进入到里面,

E:\项目文件夹> venv\Scripts\activate  # 激活虚拟环境
(venv) E:\项目文件夹> scrapyd          # 启动 Scrapyd

可能会遇上的问题:

Failed to load application: 'gbk' codec can't decode byte 0x80 in position 27: illegal multibyte sequence

解决:
方法1:

设置python的编码格式(默认)为utf8

在启动虚拟环境后,

(venv) E:\项目名>set PYTHONUTF8=1

(venv) E:\项目名>scrapyd
2024-02-03T23:27:30+0800 [-] Loading E:\football\venv\Lib\site-packages\scrapyd\txapp.py...
2024-02-03T23:27:30+0800 [-] Basic authentication disabled as either `username` or `password` is unset
2024-02-03T23:27:30+0800 [-] Scrapyd web console available at http://192.168.2.6:6800/
2024-02-03T23:27:30+0800 [-] Loaded.
2024-02-03T23:27:30+0800 [twisted.application.app.AppLogger#info] twistd 22.10.0 (E:\football\venv\Scripts\python.exe 3.11.2) starting up.
2024-02-03T23:27:30+0800 [twisted.application.app.AppLogger#info] reactor class: twisted.internet.selectreactor.SelectReactor.
2024-02-03T23:27:30+0800 [-] Site starting on 6800
2024-02-03T23:27:30+0800 [twisted.web.server.Site#info] Starting factory <twisted.web.server.Site object at 0x00000248EC65C810>
2024-02-03T23:27:30+0800 [Launcher] Scrapyd 1.4.3 started: max_proc=96, runner='scrapyd.runner'
2024-02-03T23:27:41+0800 [twisted.python.log#info] "192.168.2.6" - - [03/Feb/2024:15:27:40 +0000] "GET / HTTP/1.1" 200 725 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"
2024-02-03T23:27:41+0800 [twisted.python.log#info] "192.168.2.6" - - [03/Feb/2024:15:27:40 +0000] "GET /favicon.ico HTTP/1.1" 404 167 "http://192.168.2.6:6800/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"
2024-02-03T23:28:08+0800 [twisted.python.log#info] "192.168.2.6" - - [03/Feb/2024:15:28:07 +0000] "GET / HTTP/1.1" 200 725 "-" "python-requests/2.31.0"
2024-02-03T23:28:09+0800 [twisted.python.log#info] "192.168.2.6" - - [03/Feb/2024:15:28:09 +0000] "GET / HTTP/1.1" 200 725 "-" "python-requests/2.31.0"
2024-02-03T23:28:41+0800 [twisted.web.http.HTTPChannel#info] Timing out client: IPv4Address(type='TCP', host='192.168.2.6', port=10328)
2024-02-03T23:28:41+0800 [twisted.web.http.HTTPChannel#info] Timing out client: IPv4Address(type='TCP', host='192.168.2.6', port=10327)
方法2:​​​​​​​

4.在 Gerapy 的设置中,配置两台电脑上的 Scrapyd 服务地址。

这通常是通过添加或修改 Gerapy 的项目设置或直接通过其界面来完成的。需要输入电脑 A 和 B 的 IP 地址及端口号,如 http://192.168.2.1:6800http://192.168.2.2:6800

这样配置完成后,Gerapy 就应该能够管理这两台电脑上的爬虫了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1435500.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

锦上添花!特征选择+深度学习:mRMR-CNN-BiGRU-Attention故障识别模型!特征按重要性排序!最大相关最小冗余!

适用平台&#xff1a;Matlab2023版及以上 特征选择方法&#xff1a;"最大相关最小冗余"&#xff08;Maximal Relevance and Minimal Redundancy&#xff0c;简称MRMR&#xff09;是一种用于特征选择的方法。该方法旨在找到最相关的特征集&#xff0c;同时最小化特征…

[UI5 常用控件] 06.Splitter,ResponsiveSplitter

文章目录 前言1. Splitter1.1 属性 2. ResponsiveSplitter 前言 本章节记录常用控件Splitter,ResponsiveSplitter。主要功能是分割画面布局。 其路径分别是&#xff1a; sap.ui.layout.Splittersap.ui.layout.ResponsiveSplitter 1. Splitter 1.1 属性 orientation &#x…

Meta开源大模型LLaMA2的部署使用

LLaMA2的部署使用 LLaMA2申请下载下载模型启动运行Llama2模型文本补全任务实现聊天任务LLaMA2编程Web UI操作 LLaMA2 申请下载 访问meta ai申请模型下载&#xff0c;注意有地区限制&#xff0c;建议选其他国家 申请后会收到邮件&#xff0c;内含一个下载URL地址&#xff0c;…

【python】绘制爱心图案

以下是一个简单的Python代码示例&#xff0c;它使用turtle模块绘制一个代表爱和情人节的心形图案。 首先&#xff0c;请确保计算机上安装了Python和turtle模块。然后&#xff0c;将以下代码保存到一个.py文件中&#xff0c;运行它就可以看到爱心图案的绘制过程。 import turt…

【ArcGIS微课1000例】0101:删除冗余节点或折点

文章目录 一、实验描述二、实验数据三、实验过程1. 手动删除2. 简化线工具四、注意事项一、实验描述 矢量数据获取通常来源于手动或者ArcScan自动采集,其基本存储方式就是记录每个要素的点坐标,如点要素就是一个坐标、线要素由多个点要素连接形成。当某段线要素被过多的节点…

【webpack】优化提升

webpack优化提升 安装webpack相关内容向下兼容游览器-babel/polyfill进一步优化babel/polyfill模块联邦-共享模块如何提升构建性能通用环境下1&#xff0c;webpack更新到最新版本2&#xff0c;将loader应用于最少数量的必要模块3&#xff0c;引导&#xff08;每个额外的loader/…

pr如何导出mp4格式视频?手把手教你

PR是一款强大的视频编辑软件&#xff0c;广泛应用于电影、电视制作以及各类创意视频项目。在完成编辑后&#xff0c;将项目导出为MP4格式视频是常见的需求&#xff0c;因为MP4是一种通用且高度兼容的视频格式&#xff0c;适用于多个平台和设备。pr如何导出mp4格式视频&#xff…

分享69个节日PPT,总有一款适合您

分享69个节日PPT&#xff0c;总有一款适合您 69个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1Y3tf2bStj595B2GD3v0dBQ?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易。…

记录一下esp32模组固件开发流程

现在的esp32开发环境非常简单&#xff0c;参考如下&#xff1a; dl.espressif.cn/dl/esp-idf/ 在上面的链接中选择合适的版本进行安装&#xff0c;安装后环境自带源文件、编译连接工程脚本、图形化配置脚本、编译器、烧录调试工具。 这里我选择安装在C盘&#xff0c;C:\Espr…

Redis核心技术与实战【学习笔记】 - 17.Redis 缓存异常:缓存雪崩、击穿、穿透

概述 Redis 的缓存异常问题&#xff0c;除了数据不一致问题外&#xff0c;还会面临其他三个问题&#xff0c;分别是缓存雪崩、缓存击穿、缓存穿透。这三个问题&#xff0c;一旦发生&#xff0c;会导致大量的请求积压到数据库。若并发量很大&#xff0c;就会导致数据库宕机或故…

网络安全大赛

网络安全大赛 网络安全大赛的类型有很多&#xff0c;比赛类型也参差不齐&#xff0c;这里以国内的CTF网络安全大赛里面著名的的XCTF和强国杯来介绍&#xff0c;国外的话用DenCon CTF和Pwn2Own来举例 CTF CTF起源于1996年DEFCON全球黑客大会&#xff0c;以代替之前黑客们通过互相…

GUI编程..

1.GUI(Graphical User Interface 图形用户界面) 所谓GUI 指的是在计算机中采用图形方式展示用户的界面 在GUI之前采用的是字符界面 有了GUI之后 采用的则是图形界面 2.Java的GUI编程方案 常见的有四种 3.Swing 1.实现一个窗口 public class Main{public static void ma…

第二证券:北向资金连续第五日净流入,茅台、工行、五粮液等获加仓

沪指低收险守2700点关口&#xff0c;北向资金接连5日净流入。 2月5日&#xff0c;A股三大股指团体低开&#xff0c;三大股指均创阶段性新低后反弹&#xff0c;创业板指午后首先翻红且一度涨超3%&#xff0c;深成指和沪指也相继转涨。但商场做多情绪欠安&#xff0c;沪深股指重…

K8S之Namespace的介绍和使用

Namespace的理论和实操 Namespace理论说明Namespace实操创建、查看命名空间使用ResouceQuota 对Namespace做资源限额更多ResouceQuota 的使用 Namespace理论说明 命名空间定义 K8s支持多个虚拟集群&#xff0c;它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间&…

深入理解Netty及核心组件使用—下

目录 ChannelHandler ChannelHandler 接口 ChannelInboundHandler 接口 ChannelHandler 的适配器 Handler 的共享和并发安全性 资源管理和 SimpleChannelInboundHandler Bootstrap ChannelInitializer ChannelOption ChannelHandler ChannelHandler 接口 从开发人员的…

国产工业三防平板丨加固手持平板丨国产化加固平板有何优势?

随着科技的不断发展&#xff0c;三防产品已经逐渐成为人们生活、工作和娱乐中必不可少的一部分。而国产三防平板产品也在不断崛起&#xff0c;逐渐获得了消费者的认可和喜爱。相较于国外的三防平板产品&#xff0c;国产三防平板产品在技术和价格等方面具有一定的优势&#xff0…

游戏服务器租赁多少钱1个月?一年费用

2024年更新腾讯云游戏联机服务器配置价格表&#xff0c;可用于搭建幻兽帕鲁、雾锁王国等游戏服务器&#xff0c;游戏服务器配置可选4核16G12M、8核32G22M、4核32G10M、16核64G35M、4核16G14M等配置&#xff0c;可以选择轻量应用服务器和云服务器CVM内存型MA3或标准型SA2实例&am…

转融通业务是什么?好处和弊端是什么?

转融通业务是指证券金融公司借入证券、筹得资金后&#xff0c;再转借给证券公司&#xff0c;为证券公司开展融资融券业务提供资金和证券来源&#xff0c;包括转融券业务和转融资业务两部分。从证券金融公司角度看&#xff0c;向证券公司提供资金和证券供其开展融资融券业务&…

*s是什么意思

&s是地址&#xff0c;*是指针&#xff0c;*&s是指指向&s地址的指针&#xff1b; j *&s 就是 j s的意思。 例如&#xff1a;readRawData( (char *)& rowCount, sizeof(qint16)); //读取文本流中的行数到rowCount、列数到colCount qint16 rowCount, col…

【成品论文】2024美赛B题完整成品论文23页+3小问matlab代码+数据集汇总

2024 年美国大学生数学建模竞赛&#xff08;2024 美赛&#xff09;B 题&#xff1a; 2024 MCM 问题 B: 搜寻潜水艇 题目翻译&#xff1a; Maritime Cruises Mini-Submarines (MCMS)是一家总部位于希腊的公司&#xff0c;专门制造能够携 带人类到达海洋最深处的潜水艇。潜水艇是…