エクセルではなく、スプレッドシートで株価を自動取得( 1分おきに) ~GoogleFinance関数ではなくimportXML関数を使用~ その1
2017.8.25の記事です。
上記のサイトからの転記です。
画像も掲載してあり、上の方が見やすいと思います。
スプレッドシート上では、GoogleFinance関数で日本の株式が使用できないようです。
代替案として、importXML関数を使用します。
まず、importXML関数の使い方を学びます。
http://rilakkuma.hatenadiary.jp/entry/2016/05/19/225746
を参照ください。
以下はかなり端折って説明しています。詳しくは上記の記事をを確認下さい。
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']")
です。
この記事が気に入ったらサポートをしてみませんか?