プロジェクトライブラリ
スクリプト・自動化Shipbridge Logistics · Junior Software Engineer · 2022

手作業の運送会社料金スプレッドシートを置き換えたスクレイパー+週次レポート

投稿者:M. Okafor · 元Shipbridge Logistics SWE

共有者はまさにこのプロジェクトを面接で話し、その後オファー(内定)を獲得しました。

この面接を練習する

実際の深掘り4問 · うち難問2 · 約12分

各質問に自分で答えると、本人の実際の答えが見られます。

本人はこう語った

オペレーションチームは毎週、運送会社の料金を手作業でスプレッドシートにコピペしていました。私は代わりに数字を自動取得してレポートをメール送信する仕組みを作りました。

全文を読む

物流系スタートアップで、オペレーションチームは数社の運送会社(carrier)ポータルの配送料金を共有スプレッドシートで管理していました。担当者1人が月曜の午前中ほぼ丸ごと使って、ログインして料金テーブルを読み、貼り付けていく作業です。遅いうえに、たまに数字を打ち間違えることもありました。新卒だった私は、この仕事を引き受けると申し出ました。まず、スクレイピングが許可されていた2社のポータルにログインして料金テーブルをパースするスクレイパーを書き、使えるページがなかった3社目については、先方からメールで送られてくるCSVエクスポートを取り込むことにしました。その上で、スクリプトがすべてを1つのフォーマットに正規化し、毎週月曜の朝7時にオペレーションリードへ週次サマリーをメール送信します。ここでは正確性が非常に重要でした。料金を間違えれば顧客への見積もりを間違えることになるからです。そこでスクレイピング結果を盲信するのではなく、前週比で15%以上変動した料金にはフラグを立てて人間が目視確認する仕組みにしました。私が担当している間にポータル側のHTMLが2回変更され、どちらのときもパーサーが壊れました。そのため、テーブルが空だったり不正な形だったりした場合は、自信満々の間違ったレポートを送る代わりに、私宛にメールを送るチェックを追加しました。結果として、オペレーション担当者の作業を週にざっと3時間削減し、コピペミスも減らせました。

実際に聞かれた質問

スクレイパーはサイトが変わると壊れます。HTMLが変わったとき、あなたのものはどうなりましたか?

難しい

スクレイピングした数字が本当に正しいことは、どう保証しましたか?

難しい

そもそもなぜスクレイピングを?運送会社にAPIやデータフィードを頼めばよかったのでは?

普通

リリース後も誰かが使い続けましたか?オーナーは誰でしたか?

易しい