scrapyd部署分布式爬虫

环境安装
使用scrapyd和scrapyd_client进行部署,
过程为用户在客户端使用scrapyd_client将爬虫项目通过命令部署到服务器端scrapyd。

1.服务器端:
安装scrapyd:

pip3 install scrapyd

安装完成后,在python/scrips下会有一个scrapy.exe,这时cmd输入scrapyd即可启动服务,在客户端电脑上即可通过ip:6800访问可视化界面。操作者可以通过cmd 使用curl命令或者直接浏览器访问对scrapyd部署的项目进行操作。
常用操作命令有:

  1. daemonstatus.json:查看scrapyd当前的服务和任务状态。curl http://127.0.0.1:6800/daemonstatus.json
  2. addversion.json:部署项目。curl http://127.0.0.1:6800/addversion.json -F project=项目名 -F version=版本号 -F egg=@xxx.egg这里每一个-F代表一个参数,首先需要将项目打包成.egg文件
  3. scheldule.json:运行爬虫。curl http://127.0.0.1:6800/scheldule.json -d project=项目名 -d spider=爬虫项目里的spider name
  4. cancel.json:取消爬虫。curl http://127.0.0.1:6800/cancel.json -d project=项目名 -d job=爬虫任务代号
    通过scrapyd部署有点麻烦,因为需要先打包爬虫到本地然后再上传,scrapy_client就比较方便了
    2.客户端
    scrapy-client,它允许我们将本地的scrapy项目打包发送到scrapyd 这个服务端
    安装 scrapy-client:
pip3 install scrapy-client

在你的scrapy项目文件下有一个scrapy.cfg文件:
在这里插入图片描述

  1. 注释掉url,这里配置好目标服务器的ip
  2. project即为项目名
  3. deploy:xx中的xx即为多台主机的别名

使用时,cmd输入scrapyd-deploy命令,如果是win主机需要在python的scripts目录中新建scrapyd-deploy.bat,并添加以下代码,否则报错:

@echo off

"C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\python.exe" "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9

路径改成自己的
在客户端cmd中进入项目路径,cmd输入scrapyd-deploy,显示在这里插入图片描述
代表成功执行了scrapyd-deploy
如果想把项目部署到别名为‘wb’的主机上,即可cmd输入scrapyd-deploy wb -p 项目名
部署好之后便可使用curl命令
curl http://127.0.0.1:6800/scheldule.json -d project=项目名 -d spider=spider name
运行爬虫

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值