KOSHIANに続いてTSUBUANをつくりました。
URLを与えるとそのページに含まれる本文らしき文章をXMLで返すAPIです。
RESTで引数はurlしかありませんが、一応仕様はこちらに。
http://zuzara.dyndns.org/docs/contentextractionapi.html
サンプルレスポンス:
http://zuzara.dyndns.org/api/tsubuan?url=http://blog.zuzara.com/2006/12/12/173/
アルゴリズムは以前作ったスクリプトの改良、といった感じです。精度をちゃんと数字にしていませんが、汎用的にどんなブログでも取得できるようになったと思います。必ずしもブログのみが対象ではなく、言語による依存もありません。精度実験では中国語のブログも対象にしてみました。
以前あった、ceekzさんのアイディアも使わせていただきました。
ブログの本文抽出にチャレンジ – Ceekz Logs
・直前のエントリと diff を取る
・RSS の description と比較する
と、句読点の数も本文らしき箇所の候補が複数あった場合、考慮しています。
現時点で認識しているうまく抽出できないケースは、
- 本文の文字数が極端に少ない
- はてなのように1つのページに複数の記事がある
- 一部の、Yahoo!ブログやspaces.live.comのようにdivが改行ごとに含まれるような場合
- コメントがやたら長い
- 本文以外にもたくさん文章がある
- サイドバーなど、不要な文字列も混じる
HTMLを解析しているのでHTMLがきれいでないとうまくいきません。コメントに関しては、分離したかったのですが本文の一部として取得するケースが多いと思います。
またAPIとしては若干、結果を返すまでの時間が長いです。あくまで実験という位置づけで試していただければ幸いです。
注意点
- サーバの回線が細いのが不安です。
- 将来的にドメイン名が変わる可能性が高いです。
- 蹴飛ばしてケーブルが抜ける等の生活に密着した原因でサーバが止まる可能性があります。
- やむを得ず後方互換性のない仕様に変更される可能性があります。
- 事前の告知なしにサービスを終了する可能性もゼロではありません。
お断り
- このAPIは無保証です。本APIを利用して発生したいかなる損害に対しても責任を負いません。
- 商用利用はご相談ください。
- 1秒に1回以下のリクエストとしてください。
- 研究目的等で大量のデータを解析する必要がある場合、ご相談ください。
- スパイウェアや不正利用、その他法律に反することには利用できません。
- 本サービスと全く同機能のサービスを本サービスを利用して公開しないでください。
ご意見等はお気軽にコメント欄までお願いします。
メールでもOKです。

2007年10月11日現在停止中
現在サーバを止めています。
4 Comments
アフィリエイト広告を掲載しているサイトで、TSUBUAN、KOSHIANの両APIを利用したいのですが、商用利用にあたるのでしょうか。
よろしくお願いします。
法人組織で運営しているサイトでなければ構いません。
修士論文のため、3000件近くのブログ内容を保存した(HTML形式)が、いろいろなサイトから収集したため、どっちのブログ会社は限っていません。
このツール利用できますか?
シェリーさん、
どうぞご利用ください。Academicな利用はWelcomeです。
One Trackback
[...] zuzara : ブログの記事本文を抽出するAPI: TSUBUAN KOSHIANに続いてTSUBUANをつくりました。 URLを与えるとそのページに含まれる本文らしき文章をXMLで返すAPIです。 [...]