Scrapyd:分步教程

python核心教程:scrapyd和scrapydweb使用详细教程 Ⅰ、首先要搞清楚几个概念 1、scrapy是什么? 一个爬虫框架,你可以创建一个scrapy项目 2、scrapyd是什么? 相当于一个组件,能够将scrapy项目进行远程部署,调度使用等 因此scrapyd可以看作一个cs(client-server)程序,因此毫无疑问我们需要安装和配置scrapyd(server) 和连接的scrapy-client(client) 3、scrapydweb是... 阅读详情

Scrapyd:分步教程

无论你是在大规模抓取数据,还是需要一种更轻松的方式来管理多个 spiders,Scrapyd 都能简化流程,并帮助一切顺畅运行。

什么是 Scrapyd?

Scrapyd 是一款用于在服务器上部署和管理 Scrapy spiders 的工具。你可以通过简单的 API 调用远程控制所有内容。Scrapyd 服务器作为后台服务运行,会自动处理 crawl 请求并执行它们,无需人工干预。

使用 Scrapyd,你可以:

  • 轻松远程部署和管理你的 Scrapy 项目。

  • 通过统一的 JSON API 控制所有抓取任务。

  • 使用用户友好的 Web 界面监控和管理你的 spiders。

  • 通过在多台服务器上运行 spiders 来扩展你的数据采集能力。

  • 通过调整并发 spiders 的数量来提升服务器性能。

  • 使用 Celery 和 Gerapy 等工具自动化任务。

  • 将 Scrapy 与 Python 框架(如 Django)集成,以增强你的 Web 应用。

现在,让我们深入了解如何使用 Scrapyd 部署你的 Scrapy spiders。

替代方案 — 网页抓取 API 和工具

如果你的项目需要大规模抓取,并且你不想处理代理和验证码破解工具,你可以选择最佳网页抓取 API 和工具之一。下面,我列出了排名前 5 的网页抓取工具。

  1. Bright Data — 高级抓取的综合最佳选择;具备广泛的代理管理功能和可靠的 API。

  2. Octoparse — 用户友好的无代码工具,用于从网站自动提取数据。

  3. ScrapingBee — 面向开发者的 API,可高效处理代理、浏览器和 CAPTCHA。

  4. Scrapy — 开源 Python 框架,非常适合数据爬取和抓取任务。

  5. ScraperAPI — 借助先进的反机器人技术处理高难度抓取;非常适合开发者。

我与上述任何服务提供商都没有关联,只是使用它们的体验不错。

如何使用 Scrapyd 运行 Scrapy Spiders

先决条件

确保你的系统已安装 Python 3+。你需要通过 pip 安装 Scrapy、Scrapyd 和 Scrapyd-client。

pip install scrapyd scrapy scrapyd-client

设置你的 Scrapy 项目

创建 Scrapy 项目:使用命令 scrapy startproject <PROJECT_NAME> 创建一个 Scrapy 项目。

创建 Spider:在 spiders 文件夹中,创建一个 爬虫工具.py 文件,并写入以下基础 spider:

from scrapy.spiders import Spider

class MySpider(Spider):

name = 'product_scraper'

start_urls = ['https://www.scrapingcourse.com/ecommerce/']

def parse(self, response):

products = response.css('ul.products li.product')

data = []

for product in products:

product_name = product.css('h2.woocommerce-loop-product__title::text').get()

price = product.css('bdi::text').get()

data.append({'product_name': product_name, 'price': price})

self.log(data)

测试你的 Spider:通过运行以下命令在本地测试该 spider:

scrapy crawl product_scraper

这应该会从电商页面抓取并记录产品名称和价格。

将 Spiders 部署到 Scrapyd

启动 Scrapyd 服务器:运行以下命令来启动 Scrapyd 服务器:

scrapyd

你会看到服务器运行在 http://localhost:6800。

配置 Scrapy 项目:修改项目中的 scrapy.cfg 文件,以包含正确的部署 URL:

[settings]

default = 抓取工具.settings

[deploy:local]

url = http://localhost:6800/

project = 爬虫

部署爬虫:使用以下命令将你的爬虫部署到 Scrapyd:

scrapyd-deploy local -p 抓取工具

你应该会看到一个确认部署成功的 JSON 响应。

监控部署:打开浏览器并访问 http://localhost:6800. 你的项目应列在“可用项目”下。

使用 Scrapyd 管理爬虫

安排任务

你可以使用 Scrapyd 的 JSON API 来安排爬虫。调度端点是 http://localhost:6800/schedule.json. 使用以下 curl 命令:

curl http://localhost:6800/schedule.json -d project=爬虫工具 -d spider=product_scraper

或者,你可以创建一个 Python 脚本(schedule.py)来发起请求:

import requests

url = 'http://localhost:6800/schedule.json'

data = {'project': '抓取工具', 'spider': 'product_scraper'}

response = requests.post(url, data=data)

if response.status_code == 200:

print(response.json())

else:

print(response.json())

监控作业

要监控所有正在运行的任务,请使用 listjobs.json 端点:

curl http://localhost:6800/listjobs.json?project=爬虫

你也可以创建一个 Python 脚本(monitor.py)用于监控:

import requests

url = 'http://localhost:6800/listjobs.json'

params = {'project': '抓取工具'}

response = requests.get(url, params=params)

if response.status_code == 200:

print(response.json())

else:

print(response.json())

取消作业

要取消正在运行的作业,请使用 cancel.json 端点。提供你想取消的作业 ID:

curl http://localhost:6800/cancel.json -d project=爬虫工具 -d job=<TARGET_JOB_ID>

或者,在 Python 中:

import requests

url = 'http://localhost:6800/cancel.json'

data = {'project': '抓取工具', 'job': '<TARGET_JOB_ID>'}

response = requests.post(url, data=data)

if response.status_code == 200:

print(response.json())

else:

print(response.json())

ScrapydWeb:用于管理 Scrapy 爬虫的用户界面

ScrapydWeb 是一个基于 Web 的界面,用于管理 Scrapyd 任务。它让你可以轻松安排和监控爬虫,不过目前仅支持 Python 3.9 以下版本。

安装 ScrapydWeb:使用 pip 安装:

pip install scrapydweb

启动 ScrapydWeb 服务器:从你的项目文件夹运行命令 scrapydweb。该界面可通过 http://127.0.0.1:5000 访问。

安排并监控爬虫:使用该界面安排、运行和监控你的爬虫。你还可以设置 cron 作业,并配置 user agents 和 cookies 等爬虫参数。

Gerapy:高级爬虫管理

Gerapy 是另一个基于 Django 和 Scrapy 构建的爬虫管理工具。它提供了更多功能,如安排 cron 作业、可视化代码编辑器等。

安装 Gerapy:使用 pip 安装 Gerapy:

pip install gerapy

设置 Gerapy:按照设置说明初始化并配置 Gerapy,使其与 Scrapyd 同步。

创建并安排任务:使用 Gerapy 的 Web 界面创建任务,通过 interval 或 cron 触发器安排任务,并监控任务性能。

结论

Scrapyd 是管理 Scrapy 爬虫的强大解决方案,可实现高效的任务安排、监控和扩展。使用 Scrapyd 的 API、ScrapydWeb 或 Gerapy,你可以简化网页抓取工作流并提高生产力。

有什么无法正常工作吗?还有其他问题吗?欢迎在评论中告诉我。感谢阅读!:)

对其他网页抓取指南感兴趣?

如需阅读其他精彩文章,请访问我的个人主页 — Data Journal ❤️

Scrapyd部署爬虫项目 Scrapyd部署爬虫项目 1、新建虚拟环境(方便管理),在虚拟环境中安装scrapy项目需要使用到的包 mkvirtualenv--python=C:\python27\scripts\python.exe scrapySpider 新建虚拟环境 进入虚拟环境使用pip将所需包安装完成 2、安装scrapyd模块,scrapyd模块是专门用于部署scrapy项目的,可以部署和管理sc 阅读详情

相关推荐

Python爬虫入门教程 82-100 在windows搭建scrapyd跑scrapy爬虫

在windows搭建scrapyd跑scrapy爬虫,看似简单的步骤,背后隐藏着不为人知的秘密

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

Scrapyd-client完全指南:从安装到部署的终极Scrapyd命令行工具教程

Scrapyd-client是Scrapyd的命令行客户端工具,提供了`scrapyd-deploy`和`scrapyd-client`两个核心命令,帮助开发者轻松部署和管理Scrapy项目。本文将详细介绍如何安装、配置并使用Scrapyd-client完成从项目部署到任务调度的全流程操作。 ## 快速安装Scrapyd-client的两种方法 ### 使用pip一键安装 Scrapyd-cl

gitblog_00266的博客 967

Go语言打造的Scrapyd-admin:动态管理Scrapyd工具的高效实践

本文还有配套的精品资源,点击获取 简介:Scrapyd-admin是一个用Go语言开发的工具,旨在提升Scrapyd服务的管理和部署效率。它利用Go语言的并发性能、轻量级特性和跨平台能力,简化了Scrapy项目的部署、任务调度、日志查看和版本控制等管理任务。Scrapyd-admin通过提供RESTful API接口,支持系统集成和自动化流程,适合在不同操作系统上运行。开发...

weixin_36299472的博客 1723

scrapyd + scrapyd web

1.在linux下安装并运行scrapyd 系统:centos7 安装scrapyd:pip isntall scrapyd 如果服务器上python2与python3并存应执行的命令是:pip3 isntall scrapyd 安装后新建一个配置文件:   sudo mkdir /etc/scrapyd   sudo vim /etc/scrapyd/scrapyd.conf 写入如下内容:...

zaq1157427679的博客 744

全球第一开源云ERP Odoo操作手册 模块安装和界面汉化指南

Odoo 的功能包含在不同的模块中, 刚创建的数据库除 Odoo 的核心模块外, 其它模块并没有被安装到系统中,你可以根据需要安装它们。本节将介绍安装模块和界面汉化的相关知识。

weixin_44793763的博客 2073

电容式麦克风:从原理到实际电路波形解析

本文深入解析电容式麦克风的工作原理,从核心的振膜与背板结构、电荷锁定机制到场效应管放大器的作用。通过实物拆解与等效电路分析,阐明声音振动如何转换为电压信号,并指导如何用示波器实测波形,直观展现声电转换过程,适合电子爱好者和音频技术学习者。

Black的专栏 1080

云服务器下docker部署scrapyd之一:Scrapyd的容器化

一.部署前的准备 在开始部署之前,先梳理一下几个关键词: 1.Scrapy Scrapy是一个基于Twisted的异步处理框架,是纯Python实现的爬虫框架。Scrapy由Spider、Middleware、Downloader、Pipeline等组成,各个模块之间耦合度低,扩展性强。Scrapy的整体结构如下: 图1:Scrapy架构 2.Scrapyd Scrapyd是一...

bull521的博客 2649

攻克TypeError: Cannot read properties of undefined (reading ‘NormalModule‘)的四种实战策略

本文详细解析了`TypeError: Cannot read properties of undefined (reading 'NormalModule')`错误的四种实战解决策略。从版本一致性检查、包管理器优化到依赖替换和构建环境配置,帮助开发者快速定位和解决Webpack构建过程中的常见问题,提升开发效率。

weixin_42523670的博客 242

Scrapyd使用详解

目录 前言 使用详解 安装 启动 项目发布 相关API使用 查看服务进程状态 项目发布版本 调度爬虫 取消任务 获取上传的项目 获取项目的版本 获取项目的爬虫列表 获取任务列表(Scrapyd 0.15版本以上) 删除项目版本 删除项目 前言 Scrapyd通常作为守护进程运行,它侦听运行爬虫的请求,并为每个请求生成一个进程,该进程基本上执行:scrapy crawl [my...

所谓向日葵族 3987

立创开源桌面激光雕刻机DIY全解析:从悬臂结构、Arduino主控到Marlin固件

本文详细解析了基于立创开源平台的桌面激光雕刻机DIY全过程。重点介绍了悬臂式机械结构的设计与优化,阐述了采用Arduino Mega 2560主控与RAMPS 1.4扩展板的经典控制方案,并深入讲解了Marlin固件的关键配置步骤,包括电机步数计算与激光功能启用,为创客和电子爱好者提供了一套完整的从硬件搭建到软件调试的实战指南。

weixin_42510201的博客 382

ThinkBook 16p 2024 BIOS降压定频实战:从解锁CFG Lock到AC Loadline调优

高性能笔记本在满载时频繁撞上温度墙,通常源于固件层默认电压冗余过大,而系统级降压工具又受限于CFG Lock锁定。要根治问题,需要从BIOS固件层面理解电压管理机制——AC/DC Loadline参数控制着CPU在不同负载下的电压请求,通过修改这些负载线值可以安全降低电压,解锁CFG Lock后还能让XTU、ThrottleStop等软件调参工具恢复可用。这种BIOS级调优在工程实践中广泛用于改善散热、稳定频率、压降风扇噪音,尤其适用于联想ThinkBook 16p 2024与拯救者Y9000P等采用HX平

weixin_32496547的博客 387

Scrapy 爬虫部署指南:Scrapyd、scrapyd-deploy 与 Zyte Scrapy Cloud 实战详解

本文基于 Scrapy 官方文档的"Deploying Spiders"主题,系统讲解将 Scrapy 爬虫从本地开发环境迁移到生产环境的两条主流路径:自托管的开源方案 Scrapyd,以及基于云端的 Zyte Scrapy Cloud。读完后你将理解 `scrapy.cfg` 中 `[deploy]` 配置段的设计原理、`scrapyd-deploy` 工具与 `shub` 命令的工作方式、Sc

gitblog_01187的博客 474

AUTOSAR进阶图解==>AUTOSAR_EXP_CDDDesignAndIntegrationGuideline

本文档提供了AUTOSAR架构中复杂驱动(CDD)的设计与集成指南。CDD作为非标准化的软件实体,位于复杂驱动层,实现传感器评估、执行器控制、微控制器访问等特殊功能。文档详细阐述了CDD的架构特点、设计建议(包括文档要求、文件结构、接口描述等)以及与其他模块(RTE、库、标准BSW等)的集成方式。特别强调了CDD在多核系统和MCAL层中的实现考量,为开发人员提供了从文档规范到代码实现的全方位指导,确保CDD在保持AUTOSAR兼容性的同时满足特殊功能需求。

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 1886

Python-Scrapyd-API 项目教程

Python-Scrapyd-API 项目教程 1. 项目的目录结构及介绍 Python-Scrapyd-API 项目的目录结构如下: python-scrapyd-api/ ├── docs/ │ └── scrapyd_api/ ├── scrapyd_api/ │ ├── __init__.py │ └── ... ├── tests/ │ └── ... ├── AUTHO...

gitblog_00830的博客 840

6万字嵌入式最全八股文面试题大全及参考答案(持续更新)

进程上下文定义:进程上下文包含了进程执行时所需的所有信息,包括 CPU 寄存器的值、内核栈、任务控制块(TCB)等。作用:当进程被切换时,需要保存当前进程的上下文,并恢复下一个将要运行进程的上下文。中断上下文定义:中断上下文是指处理中断时 CPU 所处的状态,包括中断发生时的寄存器值等。作用:当中断发生时,CPU 会自动保存当前的上下文信息,并跳转到相应的中断处理程序。示例表格上下文描述进程上下文包含进程执行时的所有相关信息中断上下文处理中断时 CPU 所处的状态线程同步定义。

大模型大数据攻城狮的专栏 7926

SAP 标准 CDS View 到底能不能用 CDS Extension View 扩展,我们在项目里应该这样判断

文章摘要:判断SAP标准CDS视图(如A_PRODUCT)能否扩展字段,不能仅凭命名或@Metadata.allowExtensions判断,需检查DDL源码中的@AbapCatalog.viewEnhancementCategory值。#PROJECTION_LIST允许扩展字段,#NONE则禁止。聚合视图需额外包含#GROUP_BY,UNION视图需#UNION。CDS View Extension用于新增字段,Metadata Extension仅用于添加注解。在ABAP Cloud环境中还需检查AP

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 99

第50讲:Scrapy 部署不用愁,Scrapyd 的原理和使用

上节课我们的分布式爬虫部署完成并可以成功运行了,但是有个环节非常烦琐,那就是代码部署。 我们设想下面的几个场景: 如果采用上传文件的方式部署代码,我们首先需要将代码压缩,然后采用 SFTP 或 FTP 的方式将文件上传到服务器,之后再连接服务器将文件解压,每个服务器都需要这样配置。 如果采用 Git 同步的方式部署代码,我们可以先把代码 Push 到某个 Git 仓库里,然后再远程连接各台主机执行 Pull 操作,同步代码,每个服务器同样需要做一次操作。 如果代码突然有更新,那我们必须更新每个服

菜鸡小白的成长记录 7095

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

scrapyd 和 scrapydweb 的配置

Ⅰ、首先要搞清楚几个概念 1、scrapy是什么? 一个爬虫框架,你可以创建一个scrapy项目 2、scrapyd是什么? 相当于一个组件,能够将scrapy项目进行远程部署,调度使用等,因此scrapyd可以看作一个cs(client-server)程序,因此毫无疑问我们需要安装和配置scrapyd(server)和连接的scrapy-client(client) 3、scrapydweb是什么? 是一个基于scrapyd的可视化组件,集成并且提供更多可视化功能和更优...

chang995196962的博客 2851

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Scrapy部署之Scrapyd和Scrapyd-API

一、环境安装 安装scprayd,网址:https://github.com/scrapy/scrapyd pip install scrapyd 安装scrapyd-client,网址:https://github.com/scrapy/scrapyd-client pip install scrapyd-client 启动服务 scrapyd 环境测试: http://lo...

彭世瑜的博客 4807

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Scrapyd

1. 什么是Scrapyd Scrapyd 是一个运行 Scrapy 爬虫的服务程序,它提供一系列 HTTP 接口来帮助我们部署、启动、停止、删除爬虫程序。Scrapyd 支持版本管理,同时还可以管理多个爬虫任务,利用它我们可以非常方便地完成 Scrapy 爬虫项目的部署任务调度。 2. 安装Scrapyd 可以在pycharm的setting下载 也可以直接在命令行pip install scr...

Mpc 640

Scrapyd——Scrapy爬虫部署神器

首先本篇文章是基于Scrapy技术,大家都已经很清楚Scrapy爬虫项目的强大之处,但是在使用这项技术时会遇到很多其本身无法解决的问题;如:想要在服务器上部署Scrapy或者在Django项目中整合Scrapy爬虫等问题,由此可以引出一个Scrapy项目部署工具——Scrapydscrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API来部署爬虫项目和控制爬虫运行,scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们。

hyk的博客 2021

windows 下 scrapyd的配置

1、Scrapyd是一个用来部署和运行Scrapy项目的应用,由Scrapy的开发者开发。其可以通过一个简单的Json API来部署(上传)或者控制你的项目。 2、Scrapyd可以用来管理多个项目,并且每个项目还可以上传多个版本,不过只有最新的版本会被使用。 3、在安装并开启Scrapyd之后,它将会挂起一个服务来监听运行爬虫的请求,并且根据请求为每一个爬虫启用一个进程来运行。 4、Scrapyd同样支持同时运行多个进程,进程的数量由max_proc和max_proc_per_cpu选项来限制 .

chang995196962的博客 1591

scrapyd部署各种问题

第一次弄爬虫部署 搞好久...  win7下弄的一、环境安装pytho scrapy scrapyd scrayd-client可以用后面三个装的有pip的话可以直接用pip装 很快看是否安装成功:在cmd里面输scrapyd  出现下面的画面就是成功了二、部署部分一般第一次弄的话直接敲 scrapyd-deploy 就可以 因为只有一个项目嘛但是这里在win下一般不会识别 需要自己添加两个文件在...

jjonger的博客 3436

scrapyd部署方法

一、安装scrapyd和scrapyd-client: pip install scrapyd pip install scrapyd-client 1.也可以在 pycharm 中安装。 2.测试scrapyd 是否安装成功如果是这样子就表示安装完成 3.打开浏览器输入 127.0.0.1:6800会出现这样一个页面表示scrapyd 安装成功。 二、修改scrapyd-deploy -l不是内部或外部命令问题 当输入scrapyd-deploy -l可以查看当前部署的爬虫..

sinat_38482725的博客 777

设置 Scrapyd 在后台运行

新建 scrapd 文件 vi /etc/init.d/scrapyd 编辑文件内容 #!/bin/bash PORT=6800 HOME="/var/scrapyd" BIN="/usr/local/bin/scrapyd" pid=`netstat -lnopt | grep :$PORT | awk '/python/{gsub(/\/python/,"",$7);print $7;...

不会修电脑的程序猿 2613

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 400
上一篇: 如何使用 Python 抓取 Google 的“People Also Ask”
下一篇: Scrapy vs Pyspider:你应该使用哪一个?
Data_Journal
博客等级 码龄1年 158粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值