scrapyd 环境搭建项目发布及运行
关于python相关的资料中文比较匮乏,记录一下自己搭建成功的例子:
环境搭建
下载安装scrapyd
- pip install scrapyd
- pip install scrapyd-client
启动scrapyd服务器
- 在命令行中输入 scrapyd 看到类似 running 字样
- 在浏览器中输入http://localhost:6800/ 进入scrapyd管理页面
- 服务器启动成功
发布项目
修改设置
- 打开爬虫项目scrapy.cfg
- 【deploy】去掉url注释(url前# 去掉)
- 【settings】将deploy的url复制一份到setting中
发布项目
- cd 到爬虫目录下
- 输入 python D:\anaconda_Python\Scripts\scrapyd-deploy(地址为爬虫下scrapyd-deploy的地址)会把当前目录下的爬虫项目发布出去
- 看到{“node_name”: “DESKTOP-H8R7UT4”, “status”: “ok”, “project”: “tiebaMovies”, “version”: “1494827157”, “spiders”: 1}字样表示发布成功
启动项目
- 仍然在爬虫目录
- 输入 curl http://localhost:6800/schedule.json -d project=爬虫项目名称 -d spider=具体爬虫name
- curl http://localhost:6800为项目地址,可在scrapy.cfgc处更改在此取默认
- 得到类似{“node_name”: “DESKTOP-H8R7UT4”, “status”: “ok”, “jobid”: “41e430f8393611e79217e4029b5ba1c0”}为启动成功 即可在http://localhost:6800/中观察爬虫情况
可能出现的问题
{“node_name”: “DESKTOP-H8R7UT4”, “status”: “error”, “message”: “Scrapy 1.3.3 - no active project\r\n\r\nUnknown command: list\r\n\r\nUse \”scrapy\” to see avai
lable commands\r\n”}
检查爬虫项目名 爬虫命是否正确
项目启动成功但log报错
init() got an unexpected keyword argument ‘_job’
在爬虫中加入以下代码
def __init__(self, **kwargs):
super(该类类名, self).__init__(self, **kwargs)