scrapyd部署分布式爬虫

本文详述了使用Scrapyd部署Scrapy爬虫项目的全过程,包括安装配置、项目打包、远程调度等关键步骤,为爬虫开发者提供全面的实战指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先我们需要安装scrapyd这个模块,安装命令:pip install scaprd

2.然后启动scrapyd,通过浏览器打开127.0.0.1:6800 这个网址,有以下界面即可:

3.如果连接成功,那你可以关闭scrapyd了,在非C盘里面创建一个文件夹,名字叫做scrapydTest,然后进入该文件夹,shift+右键 打开命令行工具,输入scrapyd执行,执行完成后会新建一个dbs空文件夹,用来存放爬虫项目的数据文件

4.安装scrapyd-client模块。scrapyd-client模块是专门打包scrapy爬虫项目到scrapyd服务中的,执行命令pip install scrapyd-client==1.1.0,安装完成后,在python环境的scripts中会出现scrapyd-deploy无后缀文件,这个scrapyd-deploy无后缀文件是启动文件,在Linux系统下可以运行,在windows下是不能运行的,所以我们需要编辑一下使其在windows可以运行

新建一个scrapyd-deploy.bat文件,右键选择编辑,输入以下配置,注意:两个路径之间是空格,一定要使用双引号。单引号的话会错误。

@echo off

"C:\Users\qianzhen\Envs\scrapySpider\Scripts\python.exe" "C:\Users\qianzhen\Envs\scrapySpider\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9

 5.进入虚拟环境,进入到你的爬虫项目中,进入带有scrapy.cfg文件的目录,执行scrapyd-deploy,测试scrapyd-deploy是否可以运行,如果出现以下则正常,如果没有出现,请检查你的scrapyd-deploy.bat文件是否写对,要注意关闭windows的隐藏文件后缀名的功能。

 6.打开爬虫项目中的scrapy.cfg文件,这个文件就是给scrapyd-deploy使用的将url这行代码解掉注释,并且给设置你的部署名称

7.执行scrapyd-deploy -l命令来启动服务,这个时候,如果你的配置没有问题,就会显示你的部署名称:

8. 开始打包前,执行一个命令:scrapy list   ,这个命令执行成功说明可以打包了,如果没执行成功说明还有工作没完成注意执行 scrapy list  命令的时候很有可能出现错误,如果是python无法找到scrapy项目,需要在scrapy项目里的settings.py配置文件里设置成python可识别路径# 将当前项目的一级目录TotalSpider目录添加到python可以识别目录中BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(__file__)))sys.path.insert(0, os.path.join(BASE_DIR, “TotalSpider”))

9.执行scrapy list命令,如果返回爬虫名称,那么我们就可以进行下一步操作了

10.到这个时候我们就可以进入到scrapy.cfg这个文件的目录下。执行scrapyd-deploy 部署名称 -p 项目名称

如:scrapyd-deploy wj -p TotalSpider

如果显示下面内容,则证明项目打包成功

如果出现:

 如果出现上面的这个情况,是因为版本不对的原因,则需要安装pip install scrapyd==1.1.1,知道出现egg中有你的项目即可。

执行curl http://localhost:6800/schedule.json -d project=项目名称 -d spider=爬虫名称

这时windows会出现无此命令的错误,附上安装链接及教程:

链接: https://pan.baidu.com/s/1P2T7SZCt23OG0laDtXZhYg 提取码: aj8q    解压后将bin目录的路径添加到path环境中即可

执行后,如果出现

 则爬虫运行成功

可以去网页127.0.0.1:6800查看爬虫运行状态

 

常用的scraoyd命令:

删除scrapy项目

注意:一般删除scrapy项目,需要先执行命令停止项目下在远行的爬虫

curl http://localhost:6800/delproject.json -d project=scrapy项目名称

 

查看有多少个scrapy项目在api中

curl http://localhost:6800/listprojects.json

 

查看指定的scrapy项目中有多少个爬虫

curl http://localhost:6800/listspiders.json?project=scrapy项目名称

 

总结几个请求url

1、获取状态

http://127.0.0.1:6800/daemonstatus.json

2、获取项目列表

http://127.0.0.1:6800/listprojects.json

3、获取项目下已发布的爬虫列表

http://127.0.0.1:6800/listspiders.json?project=myproject

4、获取项目下已发布的爬虫版本列表

http://127.0.0.1:6800/listversions.json?project=myproject

5、获取爬虫运行状态

http://127.0.0.1:6800/listjobs.json?project=myproject

 6、启动服务器上某一爬虫(必须是已发布到服务器的爬虫)

http://127.0.0.1:6800/schedule.json (post方式,data={"project":myproject,"spider":myspider})

7、删除某一版本爬虫

http://127.0.0.1:6800/delversion.json

(post方式,data={"project":myproject,"version":myversion})

8、删除某一工程,包括该工程下的各版本爬虫

http://127.0.0.1:6800/delproject.json(post方式,data={"project":myproject})

 

注意:开启scrapyd的爬虫不止可以输入命令,因为开启爬虫只是想固定的网址发了一个请求,下面是官方链接:

https://scrapyd.readthedocs.io/en/stable/api.html#schedule-json

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值