Scrapyd:如何检索蜘蛛或 scrapyd 项目的版本?

Scrapyd: How to retrieve spiders or version of a scrapyd project?

看来是scrapyd的文档有误,或者有bug。我想从已部署的项目中检索蜘蛛列表。 the docs 告诉我这样做:

curl http://localhost:6800/listspiders.json?project=myproject

所以在我的环境中它看起来像这样:

merlin@192-143-0-9 spider2 % curl http://localhost:6800/listspiders.json?project=crawler                                                
zsh: no matches found: http://localhost:6800/listspiders.json?project=crawler

所以命令似乎无法被识别。让我们检查项目可用性:

merlin@192-143-0-9 spider2 % curl http://localhost:6800/listprojects.json                  
{"node_name": "192-143-0-9.ip.airmobile.co.za", "status": "ok", "projects": ["crawler"]}

我觉得不错。

再次检查文档,其他 API 调用采用的参数不是 GET,而是采用不同的方式:

curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider

将此应用于列表蜘蛛:

merlin@192-143-0-9 spider2 % curl http://localhost:6800/listspiders.json -d project=crawler                                                 
{"node_name": "192-143-0-9.ip.airmobile.co.za", "status": "error", "message": "Expected one of [b'HEAD', b'object', b'GET']"}

缺少 GET 参数。所以看起来我们在兜圈子。

如何用scrapyd获取蜘蛛列表或版本(listversion)?

也许 url 需要用双引号引起来,尝试

curl "http://localhost:6800/listspiders.json?project=crawler"