
WPホームページ研究所運営サポートチーム監修のオムスビ(@OMUSUVIcom)です。
先日に小規模なシステムのご相談をいただきました。当研究所ではワードプレス以外でもご依頼をいただくのでスケジュールとご予算次第でオリジナルのプログラミング案件を承ることも可能です。
公開されているページ内の価格を自動取得して変化があれば通知する
以前に「URLから情報取得するためのテクノロジー」を別記事で解説いたしました。数名から同じシステムをレンタルサーバー内に設置してほしいとのご相談があったので今回ざっとご紹介させていただきます。
価格変動を追いかける仕組み
まず前提として調査する価格の数がポイントになります。
A. 単品(1つのみ)
B. 複数(2つ以上)
カンタンに言えば調べる商品数が多ければ通信量が増えるのでシステムとしても複雑になり費用も上がります。今回は「A」で1つの価格値動きを調べるためだけのシンプルな仕組みで構築いたしました。
自動モニタリングツールを作る
基本的には価格変動は大きく下記2つのパターンにわかれます。
1. 曜日や日時に関係なく不定期に価格が変わっていくパターン
2. 価格が変わる時間や曜日が固定で先に決まっているパターン
もし追いかけるパターンが「1」なのであれば1時間に1回はチェックするのがおすすめです。1時間に1度の確認であれば24時間で24回の実行。つまり月(30日)720回の通信回数で最新情報が取得できますよね。
今回のパターンでは「1日に1度決まった時間に更新される」とのことでしたのでチェック回数は24時間に1回。つまり月に30回だけでした。これらの範囲であればAPIを使うとしても無料プランで収まるはずです。
システムの簡易要件を決める
一般的なレンタルサーバーの環境で動くシステムならLAMP開発がスタンダード。
LAMPは「Linux/Apache/MySQL/PHP」の組み合わせです。大半のレンタルサーバーはLAMP環境になります。あとデータベースはMySQL以外にもSQLiteがあるので今回の要件であればSQLiteで十分ですね。
最近のレンタルサーバーではSQLiteも標準搭載されているので今回は「LASP開発」を採用いたしました。LAMPもLASPであってもまだまだレンタルサーバー的に考えると現役なので問題はありません。
また「SQLite」ならデータベースのバックアップもファイル単体なので取り扱いのしやすさも特徴の1つです。
MySQLはバックアップ作業を覚えるのも大変なので「SQLiteならではの手軽さ」も理由となっています。
メールを送信するライブラリ
今回は価格差があるとメールで通知する仕組みなのでサーバーからメールを送信する機能が必要です。
ライブラリを読み込めば送信はできます。送信処理前に言語とエンコードを指定して日本語対応にすればOK。
// 文字エンコードを指定
mb_language('japanese');
mb_internal_encoding('UTF-8');
もし変動があれば指定したメールアドレス宛に下記のメールが自動送信されます。
状況に合わせてチェックする間隔を決めて変化があれば即通知。効率的にアイテムの価格を調べられますよね。
まとめ
本日は「価格変更を自動通知する仕組み」を解説させていただきました。
上記では今回の要件に最適だったLASP環境で作業を行っていますが作り方は色々あるのでぜひご自身に合った方法にてお試しいただければ幸いです。個人的にはPHPファイル1つですべてを完結できるSQLiteが使いやすくわざわざMySQLを使う必要性もなかったのでなるべくシンプルな構成で価格調査プラグラムを仕上げました。
本記事が自動モニタリングツールプログラム開発時のご参考になれば幸いです。
補足
念のため「なぜSQLite等のデータベースに取得した値を保存していく必要があるのか?」を追記しておきます。
カンタンに言えば現在の価格と過去の価格を比較するためです。データベース内に過去の相場として蓄積すれば登録済みの最新データを後から確認して現時点の価格とリアルタイムで比べることができますよね。
また活用方法としてはデータをグラフ化することもできたり取得時に保存しておけば色々な使い方が可能です。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する