読者です 読者をやめる 読者になる 読者になる

プログラマでありたい

おっさんになっても、プログラマでありつづけたい

ブログの本文抽出

自然言語処理

 必要に迫られて、ブログの本文抽出をしたいと思います。2年前くらいにも少し試みたことがあるのですが、ソース消失。。。


アプローチとして、2つの方法があると思います。
・各ブログサービス(livedoor、ameba、hatena等々)ごとの構造を解析して、それぞれ専用のモジュールを作る
  長所としては、抽出の精度が高くなる。
  短所としては、ブログの構成が変わる度にバージョンアップの必要がある。
  作成するモジュールが多い。対応外のブログはお手上げ。
・RSSのdescription等を活用して本文部分を推定する、汎用モジュールを作る
  長所としては、一つのモジュールのみ保守すれば良い。対象のブログサービスの構成が変わっても影響がない(はず)
  短所としては、抽出精度の限界がある。おそらく90%くらいが限界か


 世の中の事例を見ていると、2番目のアプローチが多いようです。有名どころをピックアップ
Ceekz Logs:ブログの本文抽出にチャレンジ
zuzara:ブログの記事本文を抽出するスクリプトをつくってみた
MOONGIFT:タイトル・本文抽出クローラー「Webstemmer」
nakatani @ cybozu labs:Webページの本文抽出


 nakataniさんが、Rubyの抽出プログラムを公開してくださっているので、そちらから試そうかと思います。また、経過を報告したいと思います。


追記:
HTML::ExtractContentを使って本文抽出