[問題] 巢型 try 寫法

作者: a78998042a (Benjimine)   2018-07-26 13:55:15
請教各位先進,還請大家教導
最近在寫爬蟲程式
因為有網頁需要等待,網頁的元素不一定能立刻抓取
若設定時間等待網頁跑完則會拖慢速度
因此現在的寫法是,當抓不到報錯後直接重來
如果原始爬蟲 function 為 get_f,可能會產生數種錯誤 E1、E2、E3..
我定義
def f1_f:
try:
get_f()
except E1:
get_f()
else:
get_f()
因為策略是報錯後重來,所以把 f1_f 包裹
定義
def f2_f:
try:
f1_f()
except E1:
f1_f()
else:
f1_f()
然後定義f3_f,包住f2_f。再定義f4_f,包住f3_f......
因為還是要避免是其他原因造成,所以期望10次後停止
想詢問有什麼比較簡潔的寫法,可以不用用一層包一層的方式寫
謝謝
作者: csro7788 (小熙)   2018-07-26 14:11:00
While?
作者: b24333666 (比飛笨)   2018-07-27 08:21:00
改成 n += 1會比較好看
作者: ah7675 (阿毛)   2018-07-28 18:18:00
twisted

Links booklink

Contact Us: admin [ a t ] ucptt.com