[ppsd]
LinkIndexの作成にHTMLの解析が必要なのでparserを探す。
ruby html parserで検索して、html-parserを見つける。
ただ、使い方がよくわからない。
試行錯誤しながらいじっていくと、どうやらHTMLParserのサブセットを作成して必要なメソッドを上書きすればいいらしい。
どのメソッドが上書きできるかわからなかったが、元となっているpythonの標準ライブラリ/usr/lib/python1.5/htmllib.pyのコメントを見るとなんとなくわかった。
下のような感じでtitle、base、anchorlistやanchorのdescriptionは取得できる。
class MyHTMLParser < HTMLParser
  attr_reader :title, :base, :anchorlist, :anchor_description
  def initialize(*a)
    super
    @anchor_description = []
  end
  def anchor_bgn(href, name, type)
    super
    @savedata = ''
  end
  def anchor_end
    super
    data = @savedata
    @savedata = nil
    data = '' if data == nil
    @anchor_description << data
  end
end
まだ、htmlデータの加工方法はよくわからないが、いじっていくうちになんとかなりそうである。