Yahoo!ファイナンス - 株価データ取得・再修正!
Updated:
【はじめに】
Yahoo!ファイナンス掲載情報の自動取得(スクレイピング)は禁止されています。(参照)
以下の記事を参考にすることもお勧めしません。
こんばんは。
前回、銘柄情報をVisualBasicでExcelVBA(XMLHTTPオブジェクト)を介して取得していたものをVisualBasicで直接XMLHTTPオブジェクトを使用して取得するようにしました。
そこで、まだExcelVBA(XMLHTTPオブジェクト)を介して取得していた株価データも、VisualBasicで直接XMLHTTPオブジェクトを使用して取得するようしました。
基本的にExcelVBAと記述は同じでよいので、さほど手間はかかりませんでした。
かといって、簡単にここで説明できるものではありませんので、現時点では詳細は記載できません。
「こんなことをしました」という報告ですので。
まあ当然、ExcelVBAでできることはVisualBasicでもできますよね。。。
最初から気づいていれば。。。
「Yahoo!ファイナンス」からのデータ取得についていろんなサイトで調べると ”ExcelVBAでWebクエリを使って・・・” というようなものばかりだったんで。。。
(時々 ”ExcelVBAで文字化けする場合があるのでWebクエリではなくXMLHTTPオブジェクトを使って・・・” というのがありました)
VisualBasicでのXMLHTTPオブジェクトの使用については、特に調べなくてもExcelVBAのものをほとんどそのまま移植することで完成しました。(同じVBなんで当然ですが・・・)
そして、実行速度についてですが、
- 3,749銘柄
- 6,829,902件(各銘柄は優先市場のみ)
- 2000年1月~2009年12月(10年分)
の取引データを「Yahoo!ファイナンス」から取得してSQLServerに書き込む。
という処理で、Excelを介して取得していたときよりは1時間くらいは早くなりました。
(といっても、18時間強かかりました。1日分の全銘柄取得なら10分はかかりません)
ま、そういうことで。
今日は以上です。
では。
Comments