Google Apps Script(GAS)で投資信託の基準価格を取得する関数を作る
はじめに
資産管理をスプレッドシートでする上でネックになったのは、投資信託の基準価格の取得です。
株のように証券コードがない。
手動で更新は面倒くさいからなんとか自動で更新できないものか。
GASを用いたスクレイピングで自動取得するプログラムを作ってみました。
※スクレイピングを利用するためにParserライブラリのインストールが必要です。
投資信託の基準価格を取得するプログラム
function TOSHIN(code) {
let url = "https://www.wealthadvisor.co.jp/FundData/SnapShot.do?fnc=" + code;
let html = UrlFetchApp.fetch(url).getContentText();
let stockPrice = Parser.data(html)
.from("<span class=\"fprice\">")
.to("</span>")
.build();
return stockPrice;
}
スクレイピングするサイト
「投資信託のウエルスアドバイザー(https://www.wealthadvisor.co.jp/)」
オルカンのページ
(https://www.wealthadvisor.co.jp/FundData/SnapShot.do?fnc=2018103105)
URLのfnc= 以降にある2018103105がオルカンのページのコード(以降「専用コード」)。
これは証券コードとは違い、共通ではなくウエルスアドバイザー専用のもの。基準価格を取得したい投資信託の専用コードは事前に調べて取得しておく必要があります。
プログラムの解説
①基準価格を取得したい投資信託のページをテキストデータで取得
②Parserライブラリを用いて基準価格を取得
③基準価格をリターン
使い方
スプレッドシートでTOSHIN関数を使うだけでOK
オルカンの場合「=TOSHIN(2018103105)」と入力すると基準価格が表示されます。
まとめ
Google Apps Script(GAS)使用して投資信託の基準価格をスクレイピングで取得するプログラムを作ってみました。
IMPORTXML関数を用いて取得する方法もあります。
この記事が気に入ったらサポートをしてみませんか?