Pocket

スプレッドシート上では、GoogleFinance関数で日本の株式が使用できないようです。
代替案として、importXML関数を使用します。

 

まず、importXML関数の使い方を学びます。
Google スプレッドシートで株価情報とか取得しちゃいましょう。 – 5億円稼いだらニートになるんだ。rilakkuma.hatenadiary.jp
を参照ください。

 

以下はかなり端折って説明しています。詳しくは上記の記事をを確認下さい。

 

importXML関数は
=importxml(“url“,”XPath“)
という構文となっています。

ここではgoogle financeにおけるトヨタ自動車の現在価格を抽出します。
urlの部分に
https://www.google.com/finance?q=TYO:7203
を入れます。

googleからのスクレイピングはできなくなってます (2018/3/18現在)
日経からに抽出に変更しました。
関数の使い方は同じです。

 

ボクも、XPathが何かは分かりません。
ですが上記の記事で説明されている通りに取得しましょう。
ブラウザとしてchromeを使う必要があるみたいです。
ディベロッパーツールの起動の仕方は、ショートカット

[win]Ctrl + Shift + C / [mac]Shift + Cmd + C

の他に右上のタブからも出来ます。

 

 

google financeのトヨタ自動車の東京市場のページである
https://www.google.com/finance?q=TYO:7203
における、現在価格が記載されている部分のXPath

//*[@id=”ref_674938_l”]

みたいです。

 

これをimportXTL関数にぶち込むと

=importxml(“https://www.google.com/finance?q=TYO:7203”,”//*[@id=ref_674938_l]”)

となります。
しかしこのままでは関数が機能しません。

XPathの部分に、ダブルクオーテーションの中に赤字のダブルクオーテーションが挿入されています。
これが問題となっているため、ダブルクオーテーションを(シングルクオーテーション)に変更します。

同様の問題が、次に説明するスクリプト構築における関数でも発生します。

 

機能するimportXTL関数は

=importxml("https://www.google.com/finance?q=TYO:7203","//*[@id='ref_674938_l']")

です。