在scrapyd部署爬虫

一简介
别人的爬虫部署文章
部署爬虫的时候需要scrapyd和scrapy client,scrapy client允许我们把我们的scrapy打包发送到scrapyd里面。
scrapyd是一个用来运行spider的service,可以通过scrapyd来部署爬虫项目,并且通过json控制spider。
二、service
首先要在开发scrapy项目的虚拟环境里安装一个scrapyd.

pip install scrapyd

安装成功会在当前虚拟环境的script目录下安装一个scrapyd.exe文件,然后再虚拟环境输入scrapyd,它就会运行起来了,然后会在当前目录下生成一个dbs文件夹。
服务器地址http://127.0.0.1:6800,进入jobs就可以看到内容。
三、client
在命令行输入 pip install scrapyd-client
不用进入虚拟环境来安装。安装后会放一个scrapyd-deploy文件到当前python的script下,
安装好之后cd 到spider项目的目录之下,找到scrapy项目里面的scrapy.cfg文件,找到:

[deploy]
#url = http://localhost:6800/
project = NgaSpider

打开这个url。deploy里面可以命名,[deploy:wdh]

在用虚拟环境安装一遍scrapyd-client,然后就会拷贝一个scrapyd-deploy在当前虚拟环境的script下,在linux中可以直接运行scrapyd-deploy,但是win中不行,因为没有后缀。
在同目录下新建一个同名的.bat后缀的文件,在里面添加;
@echo off

“E:\Envs\ngaSpider\Scripts\python.exe” “E:\Envs\ngaSpider\Scripts\scrapyd-deploy” %1 %2 %3 %4 %5 %6 %7 %8 %9

然后保存
然后在虚拟环境下运行scrapyd-deploy就可以用了

输入scrapyd-deplo -l会出现[deploy:wdh]这里的名字和url,同时注意要在工程项目的根目录cmd能运行scrapy list 命令,如果不能的话就在spider项目中的settings中加入:

import sys
BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, 'NgaSpider'))

scrapy list 和scrapyd-deploy都要在工程项目的根目录下cmd,就是在和包含scrapy.cfg文件同级的目录。
然后在启动了scrapyd服务器的同时在根目录下运行 :

scrapyd-deploy wdh -p NgaSpider  # scrapyd-deploy deploy后面的名字 -p [deploy]后面的project的值

然后再在虚拟环境中的根目录下把项目的spider打包发送到服务器

curl http://127.0.0.1:6800/daemonstatus.json

运行某一个项目下的spider

curl http://127.0.0.1:6800/schedule.json -d project=NgaSpider -d spider=douyu

会返回:

{"node_name": "DESKTOP-3UEPD36", "status": "ok", "jobid": "2bd490de38bd11e9b4a9e0db55c7cbe9"}

这个id很重要,要记住
此时访问http://127.0.0.1:6800/jobs就会看到我们的spider运行了。可以查看log

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值