ランキングデータを定期的に取得する方法

これまで紹介したような方法で、ボクはランキングデータを取得すること、そして取得したランキングデータを活用することができるようになりました。

よーし、これであとはどんどんランキングデータを取得すればいいんだ!と思ってから1週間後・・・

これ、毎日手動でやるの超めんどくさい・・・

そう、ボクはめんどくさがりやなのです。

めんどくさいことがキライだからツールやAccessで大量データを処理したいんです!

と改めてダメ人間宣言している場合ではなく、

毎日忘れずに、できるだけ決まった時間にツールを起動する

というのは大変なプレッシャーです。

本音を言えば、1日に何度もランキングアップしてるかもしれないから

1日に複数回ツールを起動したい

・・・でもそんなことしようとしたらおちおち寝てられません!

そこで、いよいよランキングツールの終盤戦、「自動」定期取得の方法について、あいかわらずしょうもないものから実践的なものまで紹介していきます。

ブラウザを定期的に更新する

最初に考えたのは、ツールはブラウザで起動しているため、一定時間ごとにブラウザを更新する仕組みです。

chromeの拡張機能で一定時間ごとにリロードしてくれるものがいくつかあります。

ボクが使っていたのはAuto-Reloadというものですが、いろいろ出ているので更新間隔の設定ができればどれでも良いと思います。

Google Chrome で特定のページを定期的に自動更新して内容をチェックする – 拡張機能 Auto-Reload

「Super Auto Refresh」の使い方

Chromeでブラウザを自動更新する拡張機能 Easy Auto Refresh

 

タスク化する

ボクは当時これは行わなかったですが、今ならブラウザを介さなくてもこういった方法で定期実行ができるのかもしれない、と考えることができるくらいに成長しました。

Windows 7 のタスクスケジューラを使ってPHPを実行する

 

外部サーバーで起動可能にしてcron化する

でも、ブラウザで定期再読み込みするのも、Windowsのタスクとして定期実行するのにも共通の問題があります。

それは、PCがスリープしていたりすると動かなかったり(タスクの方は設定でスリープ解除後の実行ができるようですね)、ネットワーク機器にトラブルがあると動かないことです。

当時ボクの作業部屋は無線ネットワーク環境が悪く、ちょいちょい接続が切れてエラーとなっていたり、放っておいたらフリーズして強制再起動が必要になったりと、家のPCで稼働させるにはちょっと不安がありました。

そこで!ついにローカルPCを飛び出して、外部のレンタルサーバー上でランキング取得ツールを実行することを検討し始めました。

当時別の用途で借りていたさくらのレンタルサーバーに、PCで行ったのと同様のモジュールのインストール作業などを終え、まずはPCと同様にブラウザ経由でツールが動く環境を整えました。

そして、次は下記のようなサイトを参考にcron設定(サーバー上のコマンド定期実行)を行います。

crontabは書き方のルールにちょっとクセがありましたが、記載例を参考に設定していったらちゃんと動きました!

自動的に処理を実行させるcronをさくらスタンダードで動かしてみる

これで見事、外部サーバーという家庭のネットワークや停電にも負けない環境下で

定期ランキング取得処理を実現することができました!!

・・・次なる問題は、出力したCSVファイルもさくらサーバー上に作られるため、ファイルがPCにできた時よりもダウンロードの手間が入るため面倒になった点でしたが、、

それでも安定的な定期取得はモノレートに一歩近づいた気がして非常にうれしかったです!

そして、この外部サーバーでのcron化が、データCSV→Accessへのインポートから、ツール実行時にもうMYSQLサーバーへのデータ書き込みまで行うようになるきっかけでした。

さて、今回でランキング取得にまつわるツール化の部分の紹介はいったん終了です。

多少なりとも

「アマゾンからAPIデータを取るってそんなにむずかしくないんだな」

とか

「ツールやデータってなかなか便利そうだな」

とか

「こうやってやればいいんだ!ヒントになった」

などと感じてもらえる部分があったならとてもうれしく思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です