安装
安装服务器:
pip install scrapyd
安装客户端:
pip install scrapyd-client
验证服务器是否正确安装,运行命令:scrapyd
, 出现以下结果就说明安装成功:
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任务
网友评论