我有多个蜘蛛,我在 bash 脚本中运行,如下所示:
pipenv run scrapy runspider -o output-a.json a.py
pipenv run scrapy runspider -o output-b.json b.py
由于他们应该运行很长时间,我想有一个简单的方法来监控他们的成功率;我的计划是在两个刮板都成功运行时(即它们没有任何错误消息)ping https://healtchecks.io。我已经assert在代码上撒了一些声明,以便对此充满信心。
pipenv run scrapy runspider -o output-a.json a.py
result_a=$?
pipenv run scrapy runspider -o output-b.json b.py
result_b=$?
if [ $result_a -eq 0 && $result_b -eq 0]; then
curl $url
fi
我的问题是,不管怎样,每个scrapy runspider命令总是返回0。这意味着我无法真正检查他们是否成功。
有没有办法影响这种行为?我还没有找到一些命令行标志?如果没有,我将如何从 python 脚本运行这两个蜘蛛并将它们的输出保存到定义的位置?我找到了这个链接,但它没有提到如何处理退回的物品。
慕斯王
相关分类