yahoo financeの時系列データをgoogleスプレッドシートで取得する
こちらのマジ神な記事をベースに、ちょっと加工しました。
rilakkuma.hatenadiary.jp
マジ、パクリです。
やりたいこと。
ヤホー ファイナンスの 時系列データをパクリたい!
検索したワード : ヤフーファイナンス 時系列 xpath
出てきたサイト :
d.hatena.ne.jp
【結論】
出てきたサイト : に乗ってる、
URL = "http://info.finance.yahoo.co.jp/history/?code=998407.O&sy=2001&sm=1&sd=2&ey=2012&em=12&ed=31&tm=d"
と
puts page.root.xpath("//table[contains(@class,'boardFin')]/tr[position()>1]").map{|tr| tr.xpath("td").map{|td| td.text}.join("\t")}
の中の、"//table[contains(@class,'boardFin')]/tr[position()>1]"だけもらう。
=importxml("http://info.finance.yahoo.co.jp/history/?code=998407.O&sy=2001&sm=1&sd=2&ey=2012&em=12&ed=31&tm=d","//table[contains(@class,'boardFin')]/tr[position()>1]")
長期間の日付をセットしても、最新部分のヤフーファイナンスの1ページ目だけが表示される。
URL部分 http://info.finance.yahoo.co.jp/history/?code=998407.O&sy=2001&sm=1&sd=2&ey=2012&em=12&ed=31&tm=d
をブラウザに入れたら表示される画面と同じです。
銘柄を変更して、最新部分の日足を表示したいなら、URLを
http://stocks.finance.yahoo.co.jp/stocks/history/?code=7525.T
こんな感じに変更してみる。
以下の部分をパラメータ化したら、いい感じに使えるよん。
code=998407.O 銘柄コード
sy=2001 スタート年
sm=1 スタート月
sd=2 スタート日
ey=2012 エンド年
em=12 エンド月
ed=31 エンド日
tm=d 日足 tm=wなら、週足 tm=mなら、月足
こんな感じにしたら、幸せになれそう。
・セルA1に、証券コード4桁いれる。
・xpathの最後を=2にする =>先頭行のみ取得
1日分の日足を取得
B1に以下の式入れる => 1行目のみ
=importxml("http://stocks.finance.yahoo.co.jp/stocks/history/?code="&$A$1,"//table[contains(@class,'boardFin')]/tr[position()=2]")
B2に以下の式入れる => 2行目のみ
=importxml("http://stocks.finance.yahoo.co.jp/stocks/history/?code="&$A$1,"//table[contains(@class,'boardFin')]/tr[position()=3]")