HTML::Elementを返すようにした
前々回のエントリで紹介した重要部分を抽出するperlモジュール「HTML::Feature」ですが、その後ジワジワと反響があって、意外なことにid:fubaさんから「HTML::Elementでデータを返してくれるといいなぁ」というリクエストまでいただくほどに。
でようやく今週末に時間がとれたので、遅ればせながら対応してみました。
http://search.cpan.org/~miki/HTML-Feature-2.0.3/
精度面でもわずかながらチューンアップを施しています。多分少しだけ精度が高くなっているはず。
重要部分のHTML::Elementを取得する方法ですが、こんな感じでOKです。
use HTML::Feature; my $feature = HTML::Feature->new; my $result = $feature->parse("http://hogehoge.com"); print $result->element->as_HTML;
$result->elementでHTML::Elementオブジェクトが返ってくるので、あとは適当にどうぞ。
中身のデータはUTF-8にdecodeされたままなので、実際に使うときは好きなようにencodeしてください。
ちなみにfubaさんがつくってくれた「TsubuanLikeエンジン」は「実際のTSUBUANは表に出ていないステップも組み込んであるみたいなので、もしかしたら名前に問題があるかも」ということなので、ちょっと悩んだのですが、今回のものには含めませんでした。あしからず。
あと、ここ数日でHTML::Featureから派生したいろいろなモノがあって個人的にかなり面白かったので、ちょっとまとめておきます。
- HTML::Feature::Engine::TsubuanLike
- fubaさんによるエンジンの実装。Tsubuanを参考にしているそうです。
- karaoke_html_feature.user.js
- gotinさんによるjsでの実装。カラオケのテロップみたいに重要部分が色塗りされていきます。楽しい。
- LDR x HTML::Feature in client – Userscripts.org
- koyachiさんによる「js実装したHTML::Featureを使ってldr上でエントリ主要部分を見るgreasemonkeyスクリプト」だそうです。すごいなぁ。
- HTML::FeaturedImage
なんだかスゴいですね。まさかjavascriptに移植したり「重要な画像抽出」にまで話が発展していくとは思いませんでしたよ。ww
重要部分抽出(本文抽出)って業界内では結構必要とされていたテーマだったんですね、なんて改めて思ったりしました。