Scrapyd 在centos Linux下简单部署Scrapy爬虫

Python爬虫实战:从Requests到Scrapy的完整环境搭建与反爬策略 网络数据采集是自动化获取互联网公开信息的基础技术,其核心原理是通过模拟HTTP请求与解析HTML/XML文档来提取结构化数据。这项技术的工程价值在于将人工浏览和复制数据的重复劳动自动化,显著提升数据获取效率与规模。在数据分析、市场研究、内容聚合和竞品监控等应用场景中,数据采集是构建数据管道的关键环节。本文聚焦于Python爬虫的实战可用性,详细阐述了如何搭建包含Requests、BeautifulSoup、Selenium和Scrapy的完整技术栈环境,并系统介绍了应对反爬机制的策略,如IP代理池管理和请求 阅读详情

简单介绍

  • Scrapyd是scrapy官方推荐的用来在服务器上部署scrapy的库
  • 官方文档如下:
    https://scrapyd.readthedocs.io/en/stable/
好了下面开始正式部署scrapy,

我的系统环境是redhat(Linux发行版之一和centos操作差不多)

部署之前友情提示一句,千万不要用Python3.7版本的,坑贼多,Twisted pillow等等各种包不兼容, 我用的是Python3.6版本的,源码官方下载地址: https://www.python.org/ftp/python/
scrapy 安装失败时 一般需要手动安装twisted: github地址:https://github.com/twisted/twisted/releases

wget https://github.com/twisted/twisted/releases/TwistedXXX.tar.gz
tar -zxvf TwistedXX.tar.gz   # XXX 指的你选择的版本
cd TwistedXXX.tar.gz
python setup.py install

安装之前可选 安装虚拟环境,参考我这篇博客 https://blog.youkuaiyun.com/wgPython/article/details/80691680

  • 一, 安装相关依赖包
# TODO(我用的虚拟环境(如何创建看我前面的博客文章),所以我直接输入pip 或者python都会指向python3)
pip install --upgrade pip   # 首先先更新pip
pip install scrapyd
pip install scrapyd-client
  • 二 修改配置文件

首先修改scrapy配置文件,进入scrapy项目文件夹,能看到配置文件scrapy.cfg修改配置如下

[settings]
default = demo.settings

[deploy:wgPython]   # 这边项目名字随便取
url = http://localhost:6800/  # 这个注释打开6800是后面访问端口,如要修改,scrapyd里面的也要记得一起修改
project = demo

接着修改scrapyd配置文件, 文件名为default_scrapyd.conf

  • 说明一下,scrapyd配置文件可能由于不同的安装可能路径不一样
sudo find / -name default_scrapyd.conf   # 首先知道这个配置文件路径
vim /your_path/default_scrapyd.conf  # vim编辑配置文件

# 下面是编辑配置文件
[scrapyd]
eggs_dir    = eggs
logs_dir    = logs
items_dir   =
jobs_to_keep = 5
dbs_dir     = dbs
max_proc    = 0
max_proc_per_cpu = 10    #可以不改 这个参数和CPU个数的乘积是爬虫同时运行的最多个数 为了以后方便改成10
finished_to_keep = 100   
poll_interval = 5.0
bind_address = 0.0.0.0   # 绑定的IP地址改成0.0.0.0 外网就可以访问
http_port   = 6800   # 这边是对应的端口
debug       = off
runner      = scrapyd.runner
application = scrapyd.app.application
launcher    = scrapyd.launcher.Launcher
webroot     = scrapyd.website.Root

[services]
schedule.json     = scrapyd.webservice.Schedule
cancel.json       = scrapyd.webservice.Cancel
addversion.json   = scrapyd.webservice.AddVersion
listprojects.json = scrapyd.webservice.ListProjects
listversions.json = scrapyd.webservice.ListVersions
listspiders.json  = scrapyd.webservice.ListSpiders
delproject.json   = scrapyd.webservice.DeleteProject
delversion.json   = scrapyd.webservice.DeleteVersion
listjobs.json     = scrapyd.webservice.ListJobs
daemonstatus.json = scrapyd.webservice.DaemonStatus
  • 三 测试启动
    服务器一定要确定开启6800端口, 可以在运营商的控制面板里面开启
# TODO()首先进入scrapy项目文件夹下查看项目是否能正常启动
scrapy list  # 如果有报错缺什么包 可以查看我的之前的博客 
# 上一步正常 可以测试scrapyd 是否正常
scrapyd  # 测试scrapyd开启 务必保证开启6800端口 
# 这一步报错 可以在stackoverflow 上找答案,我之前博客也有相关的答错

这是之前我解决报错的博客传送门点击这里 https://blog.youkuaiyun.com/wgPython/article/details/82805406
上面开启正常可以访问 http://你的服务器IP地址:6800/
在这里插入图片描述

OK 到这一部就成功了 一大半,然后可以ctrl + c关掉这个
当然这种方式不是很好,关掉终端,我们scrapyd也GG了, 我们可以后台运行这个scrapyd程序

  • Tip:
    我们启动了scrapyd项目之后占用了6800端口,再次启动就会报端口被占用,这是我们可以用lsof这个来查看项目进程(默认没有安装lsof 需自己手动安装)
lsof -i :6800  # 查看占用此端口的进程
kill -9  进程号 # kill此进程
# 后台启动,我们可以使用Linux命令setsid启动, 
setsid scrapyd
# 也可以使用 nohup scrapyd &等等放后台运行
# 也可以使用 supervisor 管理后台进程
放后台运行管理进程最好使用 supervisor 最方便稳定的,至于使用方法自己搜索吧,也很简单

  • 四, 启动你的项目
# 部署项目, 一个scrapyd可以部署多个scrapy项目
scrapyd-deploy wgPython(部署名)  # wgPython是在scrapy配置文件里面设置的部署名称
# 开启你的爬虫
curl http://localhost:6800/schedule.json -d project=demo(项目名字) -d spider=爬虫名称

到此现在就完成了, 然后暂停什么其他的操作可以查看scrapyd 官方文档的教程。

重点

千万不要对公网开放6800端口,在公网裸奔,一定要加白名单访问
千万不要对公网开放6800端口,在公网裸奔,一定要加白名单访问
千万不要对公网开放6800端口,在公网裸奔,一定要加白名单访问
说三遍,如果对外开放别人可能会用scrapyd 调度任务来植入木马

  • 顺便说一下还有一个spiderkeeper 可视化的界面,个人感觉那个玩意花里胡哨的的,部署起来很麻烦,我反正是不喜欢,爬虫能抓到数据就行了,检测数据量的变化就可以了。
  • scrapyd的简单界面,还行。
  • 最后欢迎提问,有空看到我会解答。
Python网页爬虫工具选型决策树:requests/Scrapy/Selenium/Playwright实战对比 网页爬虫是数据采集的基础技术,其核心在于根据目标页面的静态结构、JavaScript渲染程度、反爬机制强度及部署环境约束,选择最匹配的Python工具链。requests适合纯HTML静态页抓取,轻量可控;Scrapy面向高并发、可持续运行的工业级任务;Selenium与Playwright则专攻JS渲染、登录态模拟和复杂交互场景。本文基于2000万次生产请求实测数据,提炼出覆盖页面分析、登录态识别、反爬分级、规模评估与环境校验的五步决策流程,并融入timeout配置、编码处理、中文导出、证书验证等高频工程 阅读详情

相关推荐

爬虫小白入门在服务器上-部署爬虫或者开服务接口并供给他人访问

这个介绍了下如何在服务器上部署爬虫,已经把js服务部署成服务接口的操作方式,以及如何开自己的服务器

十一姐的博客 5368

快速部署 Scrapy项目 scrapyd

快速部署 Scrapy项目 scrapyd 给服务端 install scrapyd pip install scrapyd -i https://pypi.tuna.tsinghua.edu.cn/simple 运行 scrapyd 修改配置项 , 以便远程访问 使用Ctrl +c 停止 上一步的运行的scrapyd 在要运行scrapyd 命令的路径下,新建文件scrapyd.cnf 文件 输入以下内容 [scrapyd] # 网页和Json服务监听的IP地址,默认为127.0.0.

k8vg___的博客 406

C/C++_五大常规算法_分治算法

分治法 一个装有 16 枚硬币的袋子,16 枚硬币中有一个是伪造的,伪造的硬币和普通硬币从表面上看不出有任何差别,但是那 个伪造的硬币比真的硬币要轻。现有给你一台天平,请你在尽可能最短的时间内找出那枚伪造的硬币。 常规思维: 每次从待比较的硬币中取两枚进行计较,如果天平平衡(相等)就继续取剩下的硬币进行比较 继续以上过程,直到找到硬币。 强者思维: 我们先将 16 枚硬币分为左右两个部分,各为 8 个硬币,分别称重,必然会有一半轻一半重,而我们要的就是轻的那组,重 的舍去。接下来我们继续对轻的进行五五分

weifc-wei 的博客 2726

总结linux下安装部署scrapy的问题

在纯净Linux中部署scrapy爬虫 基础环境:python 3.6+ scrapy 1.5.1 【常见异常】 1、(ModuleNotFoundError: No module named '_sqlite3') 先检查系统中是否正确安装sqlite系列包 Twisted版本与scrapy版本不兼容(Twisted ==18.4.0 升级到Twisted ==18...

wys578的博客 607

手把手教你用Zygo干涉仪分析光学元件:从原始数据到清晰面形图的完整滤波流程

本文详细介绍了使用Zygo干涉仪和MetroPro软件分析光学元件面形的完整滤波流程,从原始数据解析到清晰面形图生成。重点讲解了滤波策略选择、参数调优技巧及常见问题解决方案,帮助工程师高效处理干涉图数据,提升光学元件检测精度。

weixin_42641998的博客 408

USRP B210 运行gnuradio时 FPGA固件版本冲突错误解决方法

事情起源于昨天拿到USRP后开始调试,结果整了一个下午都没解决这个问题。 昨天晚上自己思考了一下,觉得还是版本问题。 首先,uhd_find_devices和uhd_usrp_probe均可以正常运行,没有报错,固件正常加载,序列号也可看到。 teray@teray-X550JK:~$ uhd_find_devices [INFO] [UHD] linux; GNU C++ version 7.5...

斯哈研究所 4246

scrapy+scrapyd+scrapydweb(centos7)部署爬虫(绝世好文)

绝世好文章,值得阅读!!!! 1.目前得情况我们得先写好一个爬虫啊!!! 2.要求我们得把爬虫部署到服务器上面!!! 首先我们得先下载好我们需要的包,服务器需要scrapyd、scrapydweb这两个包。这两个包下载的位置应该是在python3下的bin目录的下面。 我的是在python的安装目录下面的bin目录 /usr/local/python3/bin 2.创建两个日志文件,一个scrapyd-run.log和一个scrapydweb-run.log日志。我提前创建好了啊。 touch sc

baidu_40492134的博客 1526

Cadence安装

选择刚刚解压的E盘DVD驱动中的setup.exe文件,安装路径推荐D盘,此处会自己给你新建文件夹,我们无需手动建文件夹。但是,新产品有一些BUG(影响使用流畅性),所以我们要对17.4打补丁,补丁包同样去吴川斌的博客下载。下载阿狸狗破戒大师 我这边下载的是版本V3.2.6,同样在吴川斌的博客下载安装包,链接同上。记录一下安装过程,方便以后安装使用Cadence。破解完成后,建议将这两个软件创建快捷方式到桌面。到这里,我们已经可以正常的使用Cadence了。对光盘映像文件解压后双击,可以在我的电脑看到。

电子那些事儿 1万+

Centos7 Python3下安装scrapy的详细步骤

苦逼的前夜 昨晚很辛苦,搞到晚上快两点,最后还是没有把python3下的scrapy框架安装起来,后面还把yum这玩意给弄坏了,一直找不到命令。今天早上又自己弄了快一上午,又求助@函兮,弄了快一个中午,最后无奈还是没有弄好yum跟python这玩意,最后还是放弃治疗了。真的是什么招,什么损招都用完了,最后也没折了,直接报告老大去,然后把阿里云的centos7实例重新磁盘回滚了一下。 正确的安装...

linz的博客 742

树莓派介绍与可安装的操作系统

树莓派是一款由英国树莓派基金会开发的信用卡大小的微型计算机。处理器(CPU)内存(RAM)图形处理器(GPU)USB 接口网络接口(以太网和 Wi-Fi)视频输出(HDMI)音频输出用户只需添加电源、存储卡、显示器和输入设备(键盘、鼠标),就可以将其当作一台功能齐全的电脑使用。主要特点:低成本:价格亲民,适合教育和个人项目。小巧便携:体积小,便于携带和部署。功能强大:支持多种编程语言和操作系统,功能不逊于传统电脑。树莓派从最初的教育工具发展成为功能强大的多用途平台。最新的树莓派 5。

像风一样自由的博客 2200

2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++初中组:带解析)(7月4日试卷一)【文末附答案和解析】

2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++初中组:带解析)(7月4日试卷一)【文末附答案和解析】

王老师青少年编程 1741

centos系统下通过scrapyd部署python的scrapy

介绍续接上篇:Python网络爬虫使用总结,本篇记录下我学习用scrapyd部署scrapy程序的过程。感谢万能的互联网,感谢自己对python的这份喜爱。

anders lu 的专栏 7288

Spring Boot入门(02):【教程】轻松搭建Spring Boot开发环境,启动你的第一个Web项目!

快速搭建开发环境和启动项目是每个开发人员必备的技能。本文将为您提供一些简单易懂的方法和技巧,以帮助您快速搭建开发环境和启动项目。我们将介绍如何选择适合您的开发工具、配置您的操作系统、安装必要的软件包和依赖项,并开始编写您的第一个应用程序。无论您是一位新手还是一位经验丰富的开发人员,本文都会给您提供有用的信息和实用的建议,让您在最短时间内快速搭建和启动开发项目。

**My Coding Family** 22万+

【Python】Python3网络爬虫实战-12、部署相关库的安装:Docker、Scrapyd

如果想要大规模抓取数据,那么一定会用到分布式爬虫,对于分布式爬虫来说,我们一定需要多台主机,每台主机多个爬虫任务,但是源代码其实只有一份。那么我们需要做的就是将一份代码同时部署到多台主机上来协同运行,那么怎么去部署就又是一个值得思考的问题。 对于 Scrapy 来说,它有一个扩展组件叫做 Scrapyd,我们只需要安装 Scrapyd 即可远程管理 Scrapy 任务,包括部署源码、启动任务、监听...

Python8年程序员教程分享 489

HighTec安装使用

HighTec安装使用

qq_43552564的博客 3836

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

linux centos scrapy,centos系统下通过scrapyd部署python的scrapy

介绍续接上篇:Python网络爬虫使用总结,本篇记录下我学习用scrapyd部署scrapy程序的过程。scrapyd的资料可以参见:scrapyd官网。安装scrapyd安装后会出现在python的bin目录下。安装命令:pip install scrapyd验证scrapyd安装在命令行执行执行scrapyd命令即可启动scrapyd,执行完命令后如下图安装上传工具(scrapyd-clien...

weixin_42160278的博客 287

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

scrapyd得部署得问题啊!!!!!!!!(全网最全)(linux小白专用)

使用场景!!!!!公司需要把爬虫放到服务器上运行,每天定时运行 首先,先在我们得服务器上安装我们得python3环境,centos7没有python3,有得是python2,所以我们得自己安装一个python3得环境。这个我就不解释了,自行百度啊。就是安装一个pip3和一个python3 最后我们安装上我们得scrapy ,scrapyd,还有一个是scrapyd-client这三个包。 1.按道理来说啊,我们安装上scrapy会给我们创建一个软连.接,但是不知道我得为啥没有,所以我自己得创建一个软连接 l

baidu_40492134的博客 710

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Linux部署Scrapyd及配置功能

文章目录版本介绍1、Python3环境的安装2、Scrapyd的安装3、Scrapy配置文件4、Scrapy启动5、访问认证6、Scrapyd-client的安装7、Scrapyd API的安装8、Scrapyrt的安装9、Scrapyd的功能10、supervisor10、其他yum安装 版本介绍 python-3.6.5 scrapyd-1.2.0 1、Python3环境的安装 Centos下...

kong 6573

Scrapyd部署爬虫

Scrapyd部署爬虫 准备工作 安装scrapyd: pip install scrapyd 安装scrapyd-client : pip install scrapyd-client 安装curl:[安装地址](http://ono60m7tl.bkt.clouddn.com/curl.exe),安装完成以后将所在目录配置到环境变量...

weixin_33817333的博客 103

1.scrapyd部署相关问题

1.scrapyd部署相关问题 部署scrapy爬虫项目到6800上 启动scrapyd 出现问题 1: scrapyd-deloy -l 未找到相关命令 scrapyd-deploy -l 可以看到当前部署的爬虫项目,但是当我输入这段命令的时候显示这个命令不存在或者有错误、不合法之类的。 解决办法: 添加...

weixin_34341229的博客 95

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的博客 745

scrapyd 启动

在centos 上安装 scrapyd 1. pip3 install scrapyd 2. 后台启动 vi /etc/init.d/scrapyd ``` #!/bin/bash PORT=6800 # 这一项可修改为项目地址 HOME="/var/scrapyd" BIN="/usr/local/bin/scrapyd" pid=`netstat -lnopt ...

龚政的博客 726

Centos7搭建Scrapy爬虫环境

写在前面因为之前的爬虫环境一直是部署在我自己本地的电脑上的,最近,写了一个监控别人空间的爬虫,需要一直线上24小时运行,所有就打算云服务器上部署环境,也捣鼓了好一会才弄好,还是有一些坑,这里先记录一下,方便以后复习…一.替换pyhton2版本为python31.我这里的云服务器是Centos7系统,默认安装的是python2.7的版本,但是,我个人也是不喜欢老的东西,而且好像python2的版本到2

留歌__36的博客 4852

通过宝塔辅助部署本地Python爬虫项目到阿里云轻量服务器

笔记:最近想把本地的一套爬虫项目给搞到服务器上跑跑。

qq_61122628的博客 4498

如何将本地python项目部署到阿里云服务器上(完整版)

访问部署的 Python 项目,在浏览器中访问阿里云服务器的公网 IP 地址或域名,即可访问部署的 Python 项目。1、在本地开发文件夹下创建一个 Dockerfile ,用于定义构建 Docker 镜像的配置。(1)打开终端,进入包含 Dockerfile 的项目目录。参数指定容器的端口映射,将容器的80端口映射到主机的81端口。是您在阿里云上创建的 Docker 仓库的名称。(2)将本地镜像上传到 Docker 仓库。2、 在本地构建 Docker 镜像。表示使用当前目录作为上下文构建镜像。

qq_44997147的博客 1万+

[CentOS Python系列] 一.阿里云服务器安装部署及第一个Python爬虫代码实现

从2014年开始,作者主要写了三个Python系列文章,分别是基础知识、网络爬虫和数据分析。Python基础知识系列:Pythonj基础知识学习与提升Python网络爬虫系列:Python爬虫之Selenium+Phantomjs+CasperJSPython数据分析系列:知识图谱、web数据挖掘及NLP它们都是基于Windows系统下的Python编程,每个系列都从安装过程、基础知识到实际应用三...

杨秀璋的专栏 2万+
上一篇: centos安装Anaconda远程使用jupyter notebook
下一篇: Python 时间戳操作,获取整点凌晨时间戳,格式化“2020-10-16T17:36:00+08:00“时间
wgPython
博客等级 码龄9年 100粉丝 69原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值