亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在bash中檢查scrapy結果

在bash中檢查scrapy結果

冉冉說 2021-05-31 12:24:57
我有多個蜘蛛,我在 bash 腳本中運行,如下所示:pipenv run scrapy runspider -o output-a.json a.pypipenv run scrapy runspider -o output-b.json b.py由于他們應該運行很長時間,我想有一個簡單的方法來監控他們的成功率;我的計劃是在兩個刮板都成功運行時(即它們沒有任何錯誤消息)ping https://healtchecks.io。我已經assert在代碼上撒了一些聲明,以便對此充滿信心。pipenv run scrapy runspider -o output-a.json a.pyresult_a=$?pipenv run scrapy runspider -o output-b.json b.pyresult_b=$?if [ $result_a -eq 0 && $result_b -eq 0]; then    curl $urlfi我的問題是,不管怎樣,每個scrapy runspider命令總是返回0。這意味著我無法真正檢查他們是否成功。有沒有辦法影響這種行為?我還沒有找到一些命令行標志?如果沒有,我將如何從 python 腳本運行這兩個蜘蛛并將它們的輸出保存到定義的位置?我找到了這個鏈接,但它沒有提到如何處理退回的物品。
查看完整描述

1 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

我最終解決這個問題的方法是將日志輸出分配給一個變量并將其grepping 到ERROR: Spider error processing. Scrapy 有一個非常好的行為,即不會過早地失敗;如果我自己退出 python 腳本,我就會失去它。這樣我就可以一個接一個地運行一個scraper并最終處理錯誤,所以我仍然可以收集盡可能多的東西,同時在某些東西不能100%順利運行的情況下得到通知。


查看完整回答
反對 回復 2021-06-22
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號