見出し画像

JavaScriptで表示される通販サイトの値段を監視した話

Phantom JS cloudという
ヘッドレスブラウザのAPI
要は画面で表示するのではなく、
ブラウザで表示された情報(Javascriptも含めて)
実行後、表示後のHTMLを返してくれるAPIを使いました。
ECサイトは画像が重いのか制限クレジット使い果たしちゃったけど、
手軽に実装できたので記事にします。

Phantom JS cloudについて
もともとPhantom JSというヘッドレスブラウザのプログラムがあって、
クラウドにしたものって感じでした。
API制限はクレジットと呼ばれるもので上限が決まっており、
一回の定量と通信量でクレジットが引かれていき、
一時間で少しずつ増加されていく仕組みでした。

ECサイトだと結構通信量が取られるようで、
15分に1回実行という状態にしてますが、
それでも上限行くので、
ここは改善の余地がある状態でした。

通販サイト自体は確かNuxt.jsかNext.jsで作られてるようで、
動的に要素が生成されるので、
通常のHTMLレスポンスだけを取ってきても
Javascriptが返されるだけなので、
商品情報が受け取れませんでした。

なので今回はヘッドレスブラウザのAPIを使わせてもらって、
データを取得してきたという状態です。

某通販サイト、ECサイトから商品を監視して
商品名と金額と販売状況を取得してくるスクリプトは以下


ここから先は

1,683字

¥ 1,000

最後までお読みいただき、ありがとうございます。 今後もたくさんの方に読んでいただけるよう精進します。 活動継続にあたりサポートをいただけると、 私のモチベーション維持やクオリティ向上に繋がります。 頂いたサポートはクリエイターとしての活動費にさせて頂きます。 ぜひお願い致します。