人気のある製品は入荷しても数分ですぐ売り切れてしまう事も多い、Apple整備済製品。
狙った製品を入手しやすくする為に、在庫情報を監視して、入荷したら5分以内にアラート音で知らせてくれるプログラムをPHPで書いてみました。
cURLで製品ページの情報を5分毎に取得する
cURLを使ってAppleの製品ページを取得し、「在庫あり」の文字列が含まれていたら音を鳴らす仕組みです。
「在庫あり」は、カート(バッグ)に追加できる状態になるとformのプロパティに追加されるので、これを利用して在庫判定します。
これだけだとページを開いた時に1度しか動作しないので、JavaScriptで5分毎に更新を掛ける様にしています。
ソースコード
index.php
<?php
//製品ページのURLを設定
$url = "ここに製品ページURLを入れる";
//cURLで外部ページの情報を取得する
$conn = curl_init();
curl_setopt($conn, CURLOPT_URL, $url);
curl_setopt($conn, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($conn);
//ページ内に「在庫あり」の表示があるか調べる
if (strpos($res, '在庫あり')) {
echo '<a href = "'.$url.'">在庫は、ありまぁす!!</a>';
//音を鳴らす
echo '<audio src="Raijin.mp3" autoplay loop></audio>';
}
else{
echo "在庫なし…";
echo (date(" (Y/m/d H:i:s)"));
}
//終了処理
curl_close($conn);
?>
<script>
//指定時間毎に自動更新
var timer = 5;
window.addEventListener(
'load',function(){setInterval('location.reload()',60000 * timer);
});
</script>
使い方
XAMPPなどのローカル開発環境でページを開いておくだけです。在庫無しの場合は、最後に在庫チェックしたサーバー時間が表示される様になっています。