美文网首页礼尚往来
使用crapyd部署scrapy项目

使用crapyd部署scrapy项目

作者: 不思九八 | 来源:发表于2019-12-24 22:07 被阅读0次

安装

安装服务器:

pip install scrapyd

安装客户端:

pip install scrapyd-client

验证服务器是否正确安装,运行命令:scrapyd, 出现以下结果就说明安装成功:

scrpyd运行成功

scrapyd提供了一个简单的页面,在浏览器中打开链接``,可以看到下图所示内容:

scrpyd web 页面

验证客户端安装是否正确,cd到爬虫项目更目录下,运行命令:scrapyd-deploy, 如看到提示“Unknown target: default”,说明安装成功。

如果是windows系统,应该不会成功,需要再Python安装目录是Scripts目录下添加一个scrapyd-deploy.bat文件,文件内容大致如下:

"D:\Program Files\Python37\python.exe" "D:\Program Files\Python37\Scripts\scrapyd-deploy" %*

再次运行命令应可成功。

配置

打开scrapy.cfg文件,修改成以下的样子

[deploy:myspiders]
url = http://localhost:6800/
project = douban
  • myspiders:服务器名称,随意指定一个。
  • url:去掉注释,根据实际情况修改

本文所有命令和配置基于一个名称为douban的项目,项目下有一个spider名为qingyunian

发布和运行

首先确保scrapyd服务已经开启。

进入scrapy项目根目录,运行以下命令,将爬虫程序部署到服务器:

scrapyd-deploy myspiders -p douban

运行结果:如果看到以下结果,说明部署成功。

Packing version 1577194797
Deploying to project "douban" in http://localhost:6800/addversion.json
Server response (200):
{"node_name": "DESKTOP-STG57IJ", "status": "ok", "project": "douban", "version": "1577194797", "spiders": 1}

使用curl命令,调用scrapyd提供的api,运行爬虫任务:

curl http://localhost:6800/schedule.json -d project=douban -d spider=qingyunian

不出意外,应能看到如下所示的返回信息。

{"node_name": "DESKTOP-STG57IJ", "status": "ok", "jobid": "f358c982265211eaa721fcaa14e6b15e"}

访问scrapyd的Jobs页面,此时可以看到一条已经执行完毕的记录,如下图所示,点击log,可以查看运行日志,日志内容与在命令行执行爬虫程序的是一样的。


已完成的scrapy任务

相关文章

网友评论

    本文标题:使用crapyd部署scrapy项目

    本文链接:https://www.haomeiwen.com/subject/akqqoctx.html