LoginSignup
6
7

More than 1 year has passed since last update.

Google Finance から日本株の証券情報を取得する

Last updated at Posted at 2022-01-10

GoogleスプレッドシートのGOOGLEFINANCE関数は、Google Finance から「米国株」の証券情報を取得可能です。

しかしながら、現状では「日本株」の証券情報は取得できません。
Google Finance上に日本株の情報自体はあるのに・・・。非常に残念です。

他サイトから日本株の証券情報を取得しても良いのですが、敢えてGoogle Financeから証券情報を取得してみます。
今回は「(8591)オリックス」の現在株価を取得してみます。
image.png

IMPORTXML関数

IMPORTXML関数を使用してGoogle Financeから証券情報を取得します。

構文
IMPORTXML(URL, XPath クエリ)

第一引数 - URL

・URL - 検証するページの URL です。プロトコル(http:// など)も含めます。
 ・URL の値は二重引用符で囲むか、適切なテキストを含むセルへの参照にする必要があります。

第一引数のURLには、オリックスの証券情報のURLを指定します。
https://www.google.com/finance/quote/8591:TYO?hl=ja

  • URL末尾に証券コードが埋め込まれています。
  • 日本株の場合、":TYO"の部分は固定のようです。
  • "?hl=ja"で日本語サイトになります。 image.png

第二引数 - XPath クエリ

・XPath クエリ - 構造化データで実行する XPath クエリです。
 ・XPath について詳しくは、http://www.w3schools.com/xml/xpath_intro.asp (英語)をご覧ください。

ブラウザから対象URLにアクセスして、第二引数のXPathを確認します。
今回はGoogle ChromeでXPathを確認してみます。

1. 開発ツールを表示する
"F12"キーを押して開発ツール(Chrome DevTools)を開きます。
(ブラウザ画面上の何も無いところを右クリックして"検証"を選択しても大丈夫です。)
image.png

2. Webサイトのソースから、現在株価の位置を確認する
現在株価にマウスカーソルを合わせて右クリックして"検証"を選択します。
image.png

すると、開発ツール側のWebサイトのソースがハイライトされます。
これが現在株価の位置になります。
image.png

3. 現在株価のXPathを確認する
ハイライトされた部分を右クリックして Copy -> Copy XPath の順に選択します。
image.png

クリップボードにXPathがコピーされたので、一旦テキストファイル等にXPathを貼り付けてみます。
//*[@id="yDmH0d"]/c-wiz/div/div[4]/div/div/main/div[2]/div[1]/div[1]/c-wiz/div/div[1]/div/div[1]/div/div[1]/div/span/div/div

先頭の//*[@id="yDmH0d"]に含まれるダブルクォーテーションは、IMPORTXML関数に入れる際には文字列として認識させる必要があるため、ダブルクォーテーションを2つ続けて入力します。
//*[@id="yDmH0d"]
    ↓
//*[@id=""yDmH0d""]

【参考】
グーグルスプレッドシートの関数で『ダブルクォーテーション(”)』を文字列として認識させる方法

IMPORTXML関数の引数を整理すると以下の通りになります。

引数
第一引数 - URL "https://www.google.com/finance/quote/8591:TYO?hl=ja"
第二引数 - XPath クエリ "//*[@id=""yDmH0d""]/c-wiz/div/div[4]/div/div/main/div[2]/c-wiz/div/div[1]/div/div[1]/div/div[1]/div/span/div/div"

スプレッドシートにIMPORTXML関数を入力

IMPORTXML関数に引数を指定してスプレッドシートに入力します。
=IMPORTXML("https://www.google.com/finance/quote/8591:TYO?hl=ja","//*[@id=""yDmH0d""]/c-wiz/div/div[4]/div/div/main/div[2]/c-wiz/div/div[1]/div/div[1]/div/div[1]/div/span/div/div")

エラーになりました。
自分なりに調べてみましたが、エラーになる原因は特定できず・・・。
(XPathが深すぎて正しく認識できないのかな?)
image.png

エラーの解消方法

XPathを編集してエラーを解消します。
先ほどハイライトされた部分を改めて確認します。

<div class="YMlKec fxKbKc">¥2,448.50</div>

となっているので、第二引数のXPathを//*[@class=""YMlKec fxKbKc""]に置き換えます。
※ダブルクォーテーションを2つ続けることを忘れずに。
=IMPORTXML("https://www.google.com/finance/quote/8591:TYO?hl=ja","//*[@class=""YMlKec fxKbKc""]")
image.png

これでGoogle Financeからオリックスの株価を取得できました。

関連記事

以上、最後まで読んでいただき、ありがとうございました。

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7