Wednesday, September 30, 2009

WebBrowser

 自動売買とか良く聞くようになった気もするが、実際にやっている人はどのぐらいいるものなのか。証券会社側のアプリで対応しているのは、個別株ならマネックス、先物系は複数あるか。後は、APIといわれる売買用の正式なインターフェイスを用意してあれば、自作プログラムからも注文可能になる。エクセル経由でAPIもどきだが岡三オンライン証券が、株・先物で可能。

 それ以外は、得体の知れない会社が提供しているやつも含めて、非公式に勝手に作ったソフトになる。これら勝手に作ったソフト類の自動化方法で一般的なのは、Webページの注文をエミュレートするもの。とりあえず、問題が少ないと思われるのは、WebBrowserコンポーネント(中身は、IE)で、証券会社のWebページをそのまま動かしてしまうこと。Webページのコントロールと聞いてもイマイチ具体的なやり方が思い浮かばないかもしれないが、技術的にはそれほど難しい話ではない。

 通常アプリのコントロールであれば、ボタンやテキストボックスといった部品単位に、ハンドルと呼ばれる識別番号で管理されていて、それを使って擬似的に操作出来る。HTMLのオブジェクトも、ハンドルではないが、各部品(エレメント)を名前や番号で識別して操作が可能。例えば、ログイン画面や、金額の入力するテキストボックスは、たいていINPUT タグが使われている。これらを表示中のページから列挙するには

v := OLEVariant(WebBrowser.Document as IHTMLDocument2).getElementsByTagName('INPUT');

 この辺は色々なアクセスの仕方があるので、好きな形式で書けばいい。単純にテキストとしての情報が欲しいのなら、HTMLのソースを直接、文字列処理して取り出したりもできる。WebBrowser、Webスクレイピングや、DOMといったキーワードで検索すると参考になりそうなページはたくさん見つけられると思う。株のページだから特別ということはない。一つ違うのは、直接お金の関わってくる部分なので、サーバ側の証券会社の方でも神経質になる。くれぐれも間抜けなアクセスはしないよう気をつけることぐらいか。

0 Comments:

Post a Comment

<< Home