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
中创建连接后
我正在尝试 运行 两个 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