かきくけこうもりのよろず投資日記(旧サイト)
 
このサイトは移転しました。サイト右側のリンクから、新しいブログに移動できます。
 


2006年7月18日を表示

EfTidyというTidy Libraryのラッパーがあるらしい

HTMLDocumentはWebBrowserオブジェクトを使わないと文字列を直接DOMで解析する方法が無い、というわけでゴリゴリと正規表現やら何やらを色々使って証券会社のページを解析することにしました。やってみるとかなり面倒。いきなり証券会社の注文ページを解釈するプログラムを書くのは気が引けたので、まずは信用取引規制銘柄や証券会社固有の規制がある銘柄が示されているテーブルを解釈するプログラムを書きました。でもこれだけでも結構面倒でした。
発注に関しては予めどんな引数が必要なのかをHTMLソースを見て調べておけば、あとは引数をPOSTするだけでいいはずなので、むしろ楽なのかもしれません。ただPOSTの後で返ってきた内容を調べるのとか結構面倒くさそう。
とはいえ、プログラムを書いていくうちに、他人の出所不明のHTMLパーサを使うよりは、自分で書いたHTMLパーサを使ったほうが安心な気がしてきました。多分その方が変なバグがあったときに悩まされずに済みます。でもやっぱり面倒。
で、VB.NETにまともなHTMLパーサのライブラリが無いと嘆いていたのですが、色々探していたらEfTidy: The Tidy Library wrapper - The Code Project - C++ / MFCというのを見つけました。まだ使ってみてませんが、他のHTMLパーサよりも使い物になるかもしれません。
HTMLTidyというのはHTMLのエラーをチェックしたりHTMLをXHTML化したりしてくれる有名なツールです。HTML Tidy Project Pageでこのライブラリーが公開されていて、その中にはHTMLのパーサ機能が含まれています。もともとエラー付きの汚いHTMLを読み込むことを前提に設計されているものなので、多分汚いHTMLでもきちんとパーサとして機能してくれるのではないかと思います。EfTidyはそれのラッパーで、これを介してVB.NETから利用することができるようです。HTMLDocumentとは違ってちゃんとメモリ上にある文字列型のHTMLソースを読み込めるようになっているようです。
これを使ってみようかな~とも思うのですが、そこまでする必要あるのかな~という思いもあって、ちょっと悩み中。そのうちXML化する可能性のあるものにおいて、現段階でわざわざそこまでしてHTMLを解析する必要があるのか?という疑問。まあ、もし正規表現で記述していくのもやってられないくらい面倒くさいHTMLパージング処理が必要になったら考えます。
それにしても、新興は結構やばそうですね。

     [゚д゚]
     /[_]ヽ
      | |
 ■■□■■□◇_◇□□□

     [゚д゚]
     □_]ヽ□
      | |
 ■■_■■_◇_◇□□□

          [゚д゚]
          □_]ヽ□
           | |
 ■■_■■_◇_◇□□□

                 [゚д
                 □_
                  | |
 ■■_■■_◇_◇□□□





 ■■_■■_◇_◇□□□



7月18日(火) | トラックバック(0) | コメント(0) | 日記 | 管理


(1/1ページ)