爬虫類に遭遇したsocket.Error:[Errno 10060]エラーの原因と解決方法


socket.error: [Errno 10060]
ページの登りが早すぎるため、一時的にサイトbanに落ちる場合、timeを設定する.sleep(1)でいいのに、banの時間が定まらないことに気づいて、自分で暴力的なやり方を書いた.
def avoid_10060(fun):
    error_time = 0
    while True:
        time.sleep(1)
        try:
            return fun()
        except:
            error_time += 1
            if error_time == 100:
                print 'your network is little bad'
                time.sleep(60)
            if error_time == 101:
                print 'your network is broken'
                break
            continue
        break

これで多くの被banの状況を解決することができて、どうせ私はこのようにbanを防いで、効果は悪くありません.