【スプレッドシート】importxmlで値段をチェック【半自動?】

今の職場はあまりネット環境がよいとは言えない(PCスペックも厳しい)ので、ひっそりと自宅にて使えそうなものを自作していたりします。

そのひとつに楽天の値段チェックのスプレッドシートもあります。

近い内容はこの辺りですかね(*’ω’*)

【GAS番外】その8と同じような結果を別の方法で【IMPORTXML スクレイピング】
GASでのスクレイピングについては前回まででほぼ基本的なことは出来たと考えています(*'ω'*) が、しかし。 スプレッ...

この時のは検索結果のページから値段を抽出していましたが、現在は、それぞれの製品ページから取り出すようにしています。

スポンサーリンク

売り切れなどに対応するために…

値段の取得と同時に、売り切れているのかどうかもチェックできるようにしたい…ということで上の画像のような式になっています。

=if(ISERROR(importxml(D2,“//span[@class=’soldout_msg’]”)),importxml(D2,“//div[@id=’priceCalculationConfig’]/@data-price”),“売り切れ”)

ざっくり解説すると

  • D2セルに調べたい店舗・商品ページのURLを入れておく
  • 「soldout_msg」がエラーかどうかを判定
  • それをif条件でエラーの場合は値段を取得
  • エラーじゃなかったら「売り切れ」と表示する

これで売り切れの判定ができます(*’ω’*)

あとは、前回の値段取得と比較をして安くなってるか、高くなってるかをセルに色付けするようにして視覚的にもわかりやすくしている感じですね。

手軽につくれる反面

スプレッドシートでのスクレイピングは重たくて、すぐにエラーを吐くという印象。

全部を正確に絶対に取得したいなんて考えで使うには、安定しないところもあるので向かないかもしれません(;´・ω・)

あと、あまりに一度に取得しようとすると失敗することが多いと思います。

※もしかしたらGASで有名な6分問題なども絡むのかなぁ??

なので、現状はスプレッドシートを何個か用意して、一回の取得数を減らして安定を図るようにしていたりします。

まとめ

それでも、やっぱり便利ですよ(*’ω’*)

世の中に色々なツールが出ていますが、構造や理解を深めるために自分で調べて作成してみるのはすごくいいと思います。

チャレンジしてみてはいかがでしょうか??

参考になれば幸いです!