R筋

プログラミング、金融、育児

【R】Rをバッチ化し、定時起動して処理を行う

以下で作成した、webスクレイピングスクリプトを1日1回定時起動して、
毎日清算価格を取得しprice.txtへ出力できるようにします。
anpontan382.hatenablog.com

方針は以下の通りです。
コマンドプロンプトからRを実行できるようバッチ化
②タスクスケジューラーでバッチを定時起動するよう設定する。


①-1
以下の内容のgetprice.rをCドライブ直下に配置します。

options(encoding="CP932")
library(rvest)
library(readr)
html <- read_html("https://www.tfx.co.jp/")
div <- html_nodes(html,"div.chart_cel_03")
text <- html_text(div)
price <- as.numeric(text[16])
write_lines(price,"price.txt",append=T)

①-2
getprice.rをコマンドプロンプトで実行するにはRをインストールしたときに
一緒にインストールされるRscript.exeを使用します。
Rscriptは通常以下のディレクトリにあります。
C:\Program Files\R\R-3.4.0\bin\Rscript.exe
getprice.rを実行するgetprice.batを作成します

cd c:\
"C:\Program Files\R\R-3.3.2\bin\rscript.exe" getprice.r

①ー3
getprice.batを実行すると、Cドライブ直下にprice.txtが作成され
価格が入ることが確認できると思います。

②-1
ググれば詳しく記載がある記事がたくさんありますので、簡単に概要だけ。
ファイル名を指定して実行→「タスクスケジューラー」を起動
基本タスクの作成→ウィンドウに従い実行間隔、時間、実行スクリプトを設定。
getprice.rを毎日実行するように設定します。

これにより、毎日HPから価格を取得して、getprice.txtへ保存していくことができます。
当然パソコンの電源は入れといてね!