加载中…
个人资料
雪山飞狐
雪山飞狐
  • 博客等级:
  • 博客积分:0
  • 博客访问:5,286
  • 关注人气:84
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用scrapyd部署scrapy爬虫引擎

(2017-11-17 17:11:46)

由于爬虫面对环境的复杂性,通常我们会管理多个scrapy爬虫同时工作,并进行调度,这里我们使用scrapyd部署我们的爬虫。


首先安装部署工具:

pip install scrapyd

然后在本机win7的cmd里,直接可以使用scrapyd命令启动服务

http://s11/bmiddle/001rxTlvzy7fSyHNWEWba&690

在服务器端使用docker进行部署:

docker pull vimagick/scrapyd

当然也可以自己打包,因为自己本身也需要安装scrapy里引用的依赖包。


#Dockerfile


FROM python:3

WORKDIR /usr/src/app

ADD . /usr/src/app


COPY requirements.txt ./

COPY ./scrapyd.conf /etc/scrapyd/

RUN pip install --no-cache-dir -r requirements.txt


VOLUME /etc/scrapyd/ /var/lib/scrapyd/

EXPOSE 6800

CMD ["scrapyd"]


#requirements.txt

scrapyd==1.2

elasticsearch

newspaper3k

scrapy-splash

bs4


pip install scrapyd-client

这个是本地用来把scrapy工程打包并直接发布到服务端的工具。直接把当前目录定位到工程目录,修改scrapy.cfg


[settings]
default = eagle.settings

[deploy]
url = http://IP:6800/
project = eagle

保存,然后在.cfg目录里,直接scrapyd-deploy就会把当前scrapy项目打包,发布到远程服务器上。


curl http://localhost:6800/schedule.json -d project=PROJECT_NAME -d spider=SPIDER_NAME

停止spider的API


curl http://localhost:6800/cancel.json -d project=PROJECT_NAME -d job=JOB_ID

使用scapyd-deploy直接在.cfg目录下部署scrapyd。windows没有这个命令,需要自己的python目录/scripts下加一下scrapyd-deploy.bat。

内容填充为:

@echo off

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


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有