Googleスプレッドシートを使って日本で販売している投資信託の基準価額などの情報を取得してみる。
【注意】本記事では例として「Yahoo!ファイナンス」から取得する方法を説明するが、「Yahoo!ファイナンス」から株価情報を自動取得することは禁止されている。あくまでも「参考」として読んでほしい。
参照Yahoo!ファイナンス掲載情報の自動取得(スクレイピング)は禁止しています(Yahoo!ファイナンスヘルプ)
Googleスプレッドシートの「IMPORTXML関数」を使用する。
参照IMPORTXML(Google「ドキュメント エディタ ヘルプ」)
名称・基準価額を取得
本記事では投資信託の「名称」「基準価額」の2つを取得してみる。
例として、わたしが確定拠出年金(iDeCo)で積立投資している「EXE-i 先進国株式ファンド」の情報をYahoo!ファイナンスからGoogleスプレッドシートに取り込んで、次のような表を作成する。
IMPORTXML関数
最初に、Googleスプレッドシートを開いて上表のように「A2」のセルに投資信託のコード(ここでは89311135)を入力してほしい。
次に投資信託の「名称」を取得する。
「名称」を取得するには「IMPORTXML関数」を次のようにGoogleスプレッドシートの適当なセルに入力する(例では「B2」のセル)。
=IMPORTXML("https://finance.yahoo.co.jp/quote/"&A2,"//*[@id='contents']/div/div[1]/div[2]/div/div[1]/div[2]/div[2]/p[1]/span[1]")
ごちゃごちゃとコードが並んでいるが、内容についてはここではくわしく説明しない。
簡単に説明すると、「IMPORTXML関数」でURLが「https://finance.yahoo.co.jp/quote/89311135」のサイトの「//*[@id=’contents’]/div/div[1]/div[2]/div/div[1]/div[2]/div[2]/p[1]/span[1]”」という場所(XPathという)に記載されている情報(ここでは投資信託の名称)を取得している。
次は「基準価額」だ。
名称と同様に「IMPORTXML関数」を次のように入力する(例では「C3」のセル)。
=IMPORTXML("https://finance.yahoo.co.jp/quote/"&A2,"//*[@id='contents']/div/div[1]/div[2]/div/div[1]/div[2]/div[2]/p[2]/span")
これで、Googleスプレッドシートに上記のような表が作成できるはずだ。
参考サイト
Googleスプレッドシートの「IMPORTXML関数」で投資信託の情報を取得する方法は、次のサイトを参考にさせていただいた。
参照超初心者、Googleスプレッドシートで株価を自動取得するモノを作ってみた。(シュノーケル Love)
参照Google Chromeで手っ取り早くXpathを取得する(ハックノート)
※上記は2020年10月18日現在の情報です。「Yahoo!ファイナンス」から株価情報を自動取得することは禁止されていますので、Googleスプレッドシートの「IMPORTXML関数」を用いた自動取得はお控えください。