読者です 読者をやめる 読者になる 読者になる

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]")