収集が途中で途切れても、最初から取得し直すことはありません
2019年から積み上がった週単位の記録を、5年分まとめて一度に取得する必要がありました。リクエストを一気に送ると途中で応答が途切れ、その日の収集は半分だけになりますが、途切れた箇所から続きを取り、全区間を埋めました。
収集区間
以前
途中で停止
以後
2019–2024の全区間
背景
受け取るべき資料が5年超にわたって積み上がっていました。2019年の第1週から2024年 7月まで、週単位で残された記録です。一度に取得できる量ではなく、途中で一度止まると どこまで取得したかから探し直さなければなりません。納期が決まっていたため、時期が 重要でした。
現場で見たこと
問題は収集ツールではなく、リクエストの送り方にありました。人が読む速度と 関係なくリクエストを一気に送ると、途中で応答が途切れ、その日の収集は半分だけに なります。
定義した問題
「速く受け取ること」ではなく、「最後まで受け取ること」へと問題を置き換えました。 半分だけ受け取って止まるより、時間がかかっても全区間を受け取る方が役に立ちます。 抜けのある資料は結局取り直さなければなりません。
収集対象の利用規約とロボット排除標準を確認することが、この判断の前提です。 取得してよい資料かどうかを先に決めなければ、その後の設計は意味がありません。
作ったもの
- リクエスト間隔とリトライの制御 — 一気に送らず、間隔を空けて送ります。そう すれば5年分が途中で途切れず最後まで入ってきます
- 週単位で区切って取得 — 5年超の区間をひと固まりで扱わず、週単位に分割します。 失敗してもその週だけを取り直せば済みます
- 中断箇所からの再開 — 止まった場所を記憶します。最初から取り直すことが なければ、長い収集が完走します
- 残り時間の表示 — 進行率と予想残り時間を画面に表示します。何時間もかかる作業を 何の表示もなく実行すると、人は途中で止めてしまいます
結果
2019年第1週から2024年第30週まで、全区間を漏れなく取得しました。 以後、同じ 構造を他の収集案件にも使っています。
出典
韓国の専門家プラットフォーム 認証取引レビュー (김OO)