您的位置:首页 > 其它

使用scrapyd部署scrapy爬虫引擎

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

首先安装部署工具:

pip install scrapyd

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



在服务器端使用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

关于作者:魏佳斌,互联网产品/技术总监,北京大学光华管理学院(MBA),特许金融分析师(CFA),资深产品经理/码农。偏爱python,深度关注互联网趋势,人工智能,AI金融量化。致力于使用最前沿的认知技术去理解这个复杂的世界。

扫描下方二维码,关注:AI量化实验室(ailabx),了解AI量化最前沿技术、资讯。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: