Googleスプレッドシート:IMPORTXML関数で商品の発送状況を一括確認(1)

当ラボでは、誰もが無料で使うことができるGoogleスプレッドシートを使って様々なサイトから必要な情報の取得を仕組み化したツールを提供しています。

前回は、連載で「IMPORTFEED関数」を活用したフォローセラーチェックツールの作り方を紹介してきました。

今回は、EMSやe-パケットなど追跡番号付きで発送した商品の配達状況をチェックする「発送状況一括チェックツール」を作成してみます。

商品発送後の発送状況の確認はメンドウ

以前、こんな記事を書きました。

商品発送後の発送状況の確認作業は、作業としては単純ですが、手作業だと大変です。当ラボのFile Exchange連動商品管理ツールe-商品管理マスターでは、この作業を一括で行う機能を持っています。

今回、同様の機能をGoogleスプレッドシートで作ってみます。

完成イメージ

追跡番号一覧にデータを入力すれば、最新の追跡状況がわかるという簡単なものです。プログラム(スクリプト)なしで作成可能です。

IMPORTXML関数を使用

今回使用するのは、Googleスプレッドシート独自のWebデータを取得できる関数の一つIMPORTXML関数です。

詳細は、こちら。

URLの確認

まずは、日本郵便の追跡確認ページで、実際に発送した商品の追跡番号を入力して検索します。

検索結果ページのURLを見ると追跡番号があります。この追跡番号を変化させれば、確認したい商品の追跡状況が分かりそうです。

正しく検索できるか確認します。今回はこれで大丈夫そうです。

取得したい部分のxPathの確認

IMPORTXML関数で一番重要なxPathを作成します。こちらのページで紹介した手順で作成してテスト。

作成されたxPath
//*[@id=”content”]/form/div/table[2]/tbody/tr[17]/td[2]
(注意)入力した追跡番号によって違います。

しかし、動きません。どうすれば良いか?

上記の「/」で区切られている一部を削除したり試行錯誤してみたところ、xPathの中の「tbody」という要素が悪さをしており、うまく取得できないことが分かりました。

Googleで調べたところ、ChromeのデベロッパーツールのようなツールでxPathを取得しようとすると、勝手に「tbody」が付いてしまう場合があるという事象があるとのこと。

そこで、

修正したxPath
//*[@id=”content”]/form/div/table[2]/tr[17]/td[2]
(注意)入力した追跡番号によって違います。

を使ってIMPORTXML関数を使うと、データを取得することができました。

まとめ

Googleスプレッドシート独自のIMPORTXML関数を使って「発送状況一括チェックツール」を作るということで、データ取得部分を作りました。

IMPORTXML関数で上手くデータが取得できない場合には、

・「xPath」の要素を一部削除して動かす
・「tbody」という要素があるときには削除する

を試してみましょう。

次回は、xPathをさらに編集して欲しい箇所を取得できるようにします。
お楽しみに