15分おきに楽天ランキングのキャプチャを自動で取る方法



楽天ランキングで1位を取った画像を商品ページにアップしている店舗さんは多いですよね。
楽天リアルタイムランキングは15分置きに更新されているんで、1位をとったとしてもキャプチャを取るのって大変です。
ついついキャプチャとりそこねることがあります。

そこで、楽天リアルタイムランキングを15分置きに自動でキャプチャ取れる方法を模索。
成功したのでメモしておきます。

phantomjsとcasperjsのインストール

まずは、phantomjsとcasperjsをインストールします。
MACはターミナルからコマンドでインストールできましたが、WindowsでNode.jsインストールしてからnpmコマンドインストールが失敗したので、各サイトからダウンロードしてPATHを通すことにしました。

MAC

MACは下記ブログなどを参考にすれば大丈夫ではないでしょうか。
Macにcasperjsをインストール

MACはいろんなサイトでコマンドが掲載されていて失敗しなかったので詳細は省きます。

Windows

Windowsは手こずったので詳細記載しておきます。Windows10環境での説明になります。
下記ブログを参考にしました。
Windowsでお手軽にCasperJSを試す
Windowsにcasperjsをインストール

最初casperjsの安定版をインストールしなかったのでエラーが出ていました。
上記URLを参考にしないと、安定版ダウンロード方法がわかりませんでした。

[phantomjs]
phantomjsページからダウンロードします。

[casperjs]
casperjsアーカイブからダウンロードします。



解凍したら、解凍フォルダごとCドライブ直下に移動し、フォルダ名をphantomjs、casperjsに変更しました。

次に、PATHを通します。
PATHを通すってWindows独特の観念で苦手です。ここがよくわかっていなくてなかなかうまくいきませんでした。

環境変数設定画面を開きます。
開き方は2通りあります。
・Cortana(コルタナ)の検索窓に[環境変数]と入力して、見つかった[環境変数を編集する]をクリックする。
・[windowsキー+r→sysdm.cplと入力]→[詳細設定タブ]→[環境変数]

システム環境変数内にある[Path]を選択した状態で[編集]をクリックします。

新規で下記を追加します。
C:\phantomjs\bin
C:\casperjs\bin

これでPathが通りました。

コマンドプロンプトでインストールされていることを確認します。
コマンドは下記の通りです。

phantomjs -v
casperjs --version

バージョンが表示され、無事インストールされたことが確認できました。 

自動キャプチャ

次にキャプチャするために必要なファイルを作成していきます。
下記ページをまるまる使わせてもらいました。

PhantomJS と CasperJS で複数ページを一括キャプチャする

デスクトップにtestフォルダを作成して必要なファイルを保存しておきました。

参考にしたブログではcapture.jsというファイル名でしたが、私の環境ではrakutenRank.jsに変更しています。
また、rakutenRank.batというファイル内には下記コマンドを記述しています。
このファイルはタスクスケジューラで指定するのに使います。

cd C:\Users\ユーザー名\Desktop\test
casperjs rakutenRank.js
exit

cronみたいなものを設定

MAC

MACではcronを設定します。
設定方法は下記を参考にしました。

Terminal: Macで定期的にプログラムを実行する
Macでcronの使い方を学ぶ

ターミナルで下記コマンドをたたいてcron設定しました。

vim /tmp/crontab
:wq
crontab -e
a    //←INSERTモード

PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs
0/15 * * * * cd rakutenRank.jsを格納しているフォルダ && /usr/local/bin/casperjs rakutenRank.js
esc    //←INSERTモード終了
:wq

Windows

Windowsでは、タスクスケジューラを使用します。

Cortana(コルタナ)の検索窓に[タスク]と入力して、見つかった[タスク スケジューラ]をクリックします。

[タスクスケジューラ ライブラリ]を右クリック→[タスクの作成]をクリックします。

[全般]タブの名前は任意名を記載します。
ユーザーログオンしていないときも動いてほしかったので、[ユーザーがログオンしているかどうかにかかわらず実行する]を選択しました。

[トリガー]タブに詳細の日時を記載します。楽天のリアルタイムランキングは15分おきに更新されるので、繰り返し間隔を[15分間]に設定します。

[操作]タブにrakutenRank.batを指定します。

これで15分おきに楽天ランキングのキャプチャを取ることに成功しました。
お疲れ様です。

スポンサーリンク
ad
ad

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
ad