システムトレーダーの冒険の書

自作のプログラムでシステムトレードを行っています。ポジション完全公開で、シストレやプログラミングについて書いていきます。相互リンク募集中です。

HTAの株価取得ツールにおけるhtmlの加工方法

ブログランキング参加中!!

過去に紹介したHTAで作成された株価取得ツール
ソースコードを読んでくださった方がどのくらいいるのか
わかりませんが、その中で使っている正規表現についての説明です。

VBSにはExcel VBAの参照設定に相当するものはないため、
CreateObject("MSXML2.XMLHTTP")
で作成したXMLHTTPオブジェクトを利用していますが、
HTMLの取得は過去の記事で紹介した仕組みと同じです。

注目していただきたいのは取得したHTMLソースの加工の部分です。
これまでに本ブログで紹介した、タグの切り出しなどを利用していません。

その代わりに利用しているのが正規表現です。
コードで言うと、下記の部分に相当します。

with New RegExp
.Pattern = "<td class=""stoksPrice"">(.*?)</td>"
getNowPrice = .Execute(html).Item(0).SubMatches(0)
End With


正規表現を簡単に言うと、文字列の中から特定のパターンを探し出し、
存在判定を行ったり、抜き出したり、置換したりする仕組みです。

この例ではは .Pattern という変数で指定した、
"<td class=""stoksPrice"">(.*?)</td>"
というパターンの文字列を検索し抜き出しています。
(.*?) の部分は任意の文字の繰り返しと言う意味になり、
<td class="stoksPrice"> と </td> で挟まれた部分を探し出すことが出来ます。

正規表現そのものについては各所に解説があるのですが、
本プログラムでは非常にシンプルな使い方をしています。

.Execute(html) でパターンにマッチする部分(価格と前後のタグ)を探し出し、
.Item(0) でそのうちの1つ目を取り出し、
さらに、
.SubMatches(0)
で()で囲まれた部分を取得すると言うプログラムです。
これでほしい株価なり為替レートなりを抜き出せます。

正規表現のメリットはInstrなどに比べてさまざまなパターンの文字列に対応できることと、
何より実行が早いことです。

僕のシステムトレードツールでは正規表現を時系列のデータ取得の
中心にしています。

とりあえず、以前紹介したHTAの株価取得ツールについての解説は終了かなと思います。
正規表現についてや、それをエクセルで使う方法、
そして、実際に時系列価格を取得する方法については
それぞれ別記事で解説したいと思います。

【人気ブログをチェック】
[ 2013/03/09 14:34 ] シストレツール | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

yutaro

Author:yutaro
年齢:30代
職業:IT系(ベンダーからWeb系に転職)
住所:関東

Excelで自作したツールのシグナルにしたがってシステムトレードをやっています。

相場暦:
2005年10月からFX開始
就職前後に一旦取引を中断し、
2012年6月から株をやってます

トレードの目標は2020年1月1日を億万長者としてむかえること。

Twitterアカウントはこちら。



ご連絡を取りたいかたはブログのコメント欄、メールフォーム、Twitter、などどちらからでもOKです。システムトレード、プログラミング、数学、などのほか、飲み会のお誘いなど何でもどうぞ。

書籍・グッズの購入はこちら
メールフォーム

名前:
メール:
件名:
本文:

ブログランキング

株式投資ブログランキング
アクセスカウンタ