scrapy - Scrapyd:没有活动项目 - 如何使用 scrapyd 调度蜘蛛
问题描述
我正在尝试在 scrapyd 1.2 的帮助下安排一个 scrapy 2.1.0 蜘蛛
curl --insecure http://localhost:6800/schedule.json -d project=bid -d spider=test
理论上,这应该在项目投标中启动爬虫测试。相反,它会输出错误消息:
{"node_name": "spider1", "status": "error", "message": "Scrapy 2.1.0 - no active project\n\nUnknown command: list\n\nUse \"scrapy\" to see available commands\n"}
如果我 cd 进入项目目录,则该项目有几个蜘蛛,我可以通过“cd /var/spiders/ && scrapy crawl test &”启动。
然而,在另一个文件夹中蜜蜂也会给我“没有活动项目”的消息:
/var$ scrapy list
Scrapy 2.1.0 - no active project
Unknown command: list
Use "scrapy" to see available commands
这看起来与我从 scrapyd 获得的信息完全相同,所以我怀疑我需要以某种方式配置我的项目所在的工作目录。
Scrapyd 正在运行,我可以通过网络“gui”访问控制台。
通过scrapyd开始工作的正确方法是什么?
解决方案
在你可以用 scrapyd 启动你的蜘蛛之前,你必须先部署你的蜘蛛。您可以通过以下方式做到这一点:
- 使用 addversion.json ( https://scrapyd.readthedocs.io/en/latest/api.html#addversion-json )
- 使用 scrapyd-deploy ( https://github.com/scrapy/scrapyd-client )
推荐阅读
- reactjs - 为什么 react 会重新创建列表中的所有项目,而 shouldComponentUpdate 从未调用过
- jquery - 用于多项选择的Django动态表单
- c# - 我可以使用开关简化多个数组内容的打印吗?C#
- python - Bokeh 12.0.15-堆叠分组条
- php - else 语句块中的 if 语句块
- json - 使用 json 子部分的 Spring 集成 http:outbound-gateway
- asp.net - 错误:从客户端 (&) 检测到潜在危险的 Request.Path 值
- python - 让 tensorflow (anaconda venv) 脚本在 EC2 实例上运行
- ruby - Ruby 程序在函数内部调用函数时终止
- r - R:解析大型非结构化 xml 文件