Yahoo!の株価情報をハックしてGoogleスプレッドシートに表示する方法

今回は、ネット上から株価等の情報を拾ってきてGoogleスプレッドシートに表示してみようというハウツー企画です。

いわゆるHello World!的なやつ

一度やり方を覚えたら後はいくらでも応用が効くので、習うより慣れろの精神でレッツトライ!

yahoo_finance.png

上がおなじみのYahoo!ファイナンスの画面ですが、
この右側の赤い四角で囲った部分にある日経平均株価の数値を拾ってGoogleスプレッドシートに表示してみます。

次にGoogleスプレッドシートを開いてみます。

GoogleでGoogleスプレッドシートと検索したら一番上にでてきますので、使ってみるをクリックします。

次に新しいスプレッドシートを作成の+をクリックすると新しいシートができます。

googleスプレッドシート1

ウェブページからデータを取ってくるのにはIMPORTXMLという関数を使います。

以下のように適当なセルを選んで=IMPORTXML("URL","XPATH")という形で入力してやります。URLはブラウザのアドレスに表示される部分で、XPATHというのはページ中のデータの場所を指定する住所みたいなものです。

googleスプレッドシート2

上のような感じで打ち込んでいきます。

googleスプレッドシート3

アドレス欄のhttps://finance.yahoo.co.jpをコピーしてスプレッドシートのURLの部分に貼り付けてやります。

次に日経平均株価のXPATHの情報を取得します。

googleスプレッドシート4

今回はChromeの開発ツールという機能を使用しますが他のブラウザでも大体似たような感じでできると思います。

上のように、日経平均株価の上で右クリックして検証というメニューを選択すると開発ツールが開いてHTMLが表示されます。

色がついているところが対応するHTMLタグなのでそこで右クリックしてコピーXPATHを選択するとクリップボードにXPATHがコピーされます。Copy full XPATHというのもありますが、これだとサイトのアップデート等でHTMLの構造が変わってしまうと拾えなくなってしまうと思いますので、Copy XPATHのほうがいいと思います。

XPATHの指定の仕方だけで本が書けてしまうくらい色々な方法があるので、興味のある方は勉強してみるとよいかと思います。今回はコピーしてちょっといじるだけでOKです。

googleスプレッドシート6

ということでコピーしたXPATHをGoogleスプレッドシートのXPATHの部分に貼り付けます。
そのまま貼り付けただけだとダブルクォーテーションの中にダブルクォーテーションのような形になってしまってエラーになってしまいます。なので、内側のダブルクォーテーションをシングルクォーテーションに変更します。そうすると、エラーがなくなってYahoo!ファイナンスのページから株価を取得するようになります。

googleスプレッドシート7

そうすると、こんな感じで日経平均株価のデータを取得し、Googleスプレッドシートに表示することができます。

株価の情報や商品の値段等、ネット上には有益な情報が点在しているので、うまく活用できれば爆益も夢ではないかもしれません。

株式投資だけでは無く、せどりとか裁定取引とかに使えるかも . . .

今回はGoogleスプレッドシートを使用しましたが、Microsoft Excel 2013以降から似たような関数(WEBSERVICE,FILTERXML)が追加されているようです。Excelでもちょっと試してみたのですが、TEXTファイルとかは引っ張ってこれてもHTMLファイルの取り込みはエラーになってしまって、まだ成功していません。

知っている人がいたら教えて下さい。

まだまだ、勉強が必要ですね。

でわでわ


コメント


管理者のみに表示