scrapyd - 运行 蜘蛛同时出错

scrapyd - error while running spiders simultaneously

我正在尝试 运行 两个 scrapy 蜘蛛同时使用 scrapyd。 我执行

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

结果 - {"status": "ok", "jobid": "6487ec79947edab326d6db28a2d86511e8247444"} 然后:

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

结果 -

    python2.7/site-packages/twisted/web/server.py", line 234, in render
            body = resrc.render(self)
        --- <exception caught here>
        File "/usr/local/lib/python2.7/json/decoder.py", line 383, in raw_decode
raise ValueError("No JSON object could be decoded")
            exceptions.ValueError: No JSON object could be decoded

并且每次我 运行 curl for scrapyd - 我得到相同的结果 - exceptions.ValueError:没有 JSON 对象可以被解码。继续使用 scrapyd 的唯一方法是重新启动它。 如何使用 scrapyd 运行 多个蜘蛛?为什么会出现该错误?


我用的是scrapy 1.1, scrapyd 1.1, python 2.7.9

你的错误与scrapyd无关,很可能是你的蜘蛛'somespider2'出了问题。只需确保您能够通过命令行正确 运行 'somespider2'。

问题出在我的Centos 6.5 中安装的sqlite3。 决定: 需要添加

self.conn.text_factory = bytes

到 SqliteDict 和 Sqlite PriorityQueue 类 在 scrapyd/sqlite.py b/scrapyd/sqlite.py

中创建连接后