本記事では、佐川急便のお荷物問い合わせサービスを利用し、Googleスプレッドシートで荷物の配送状況を自動取得して表示する例を解説します。
佐川急便のお荷物問い合わせサービスについて
佐川急便のお荷物問い合わせサービスでは、URLは以下のような構造になっています。
http://k2k.sagawa-exp.co.jp/p/web/okurijosearch.do?okurijoNo=お問い合わせ送り状No
例えば、お問い合わせ送り状Noが「123456789001」の場合、以下URLにアクセスすることで配送状況を確認出来ます。
http://k2k.sagawa-exp.co.jp/p/web/okurijosearch.do?okurijoNo=123456789001
本記事での目標
以下のようにスプレッドシート上に追跡番号の一覧が記載されていて、各追跡番号毎に配達状況を自動取得して表示するような仕組みを考えたいと思います。
お問い合わせサービスの解析
開発者用のデベロッパーツールを利用して、佐川急便 お荷物問い合わせサービスを解析してみます。
配送状況の項目を見ると、spanタグでclass=”state”となっており、このメタ情報で荷物の配送状況の特定が出来そうです
Googleスプレッドシート上で実装する
先ず、追跡番号毎に配送状況を確認するためのURL/リンクを生成する関数を1つ追加します。
Googleスプレッドシートでリンクを作成するには、HYPERLINK関数を使います。
=HYPERLINK(“http://k2k.sagawa-exp.co.jp/p/web/okurijosearch.do?okurijoNo=”&追跡番号が記載されたセル)
次に、指定されたURLからWebサイトの情報をインポートするIMPORTXML関数を追加します。
=IMPORTXML(URLが記載されたセル, 取得対象を特定するXPathクエリ)
取得対象を特定するXPathクエリには、“//span[@class=’state’]”と指定します。
先程解析した、class=”state”のspanタグの要素を取得するという意味になります。
最終的に以下のようになります。