$res;}tdかdivで囲まれた文字列で、文章と比べてHTMLのタグがあまり多くないもののうち、一番文字数が多いのが本文だろう、というアルゴリズム。getBlogEntryBody($buf);実験に使ったのははてなブックマークの今日の人気エントリー50件。はてブにしたのは記事本文がある程度長くないと精度が落ちるだろうなぁ、と思ったので。ブログではないブックマークも多いので、今回はRSSのAutoDiscoveryがあるもの28件をブログとして実験に使いました。実行速度にはそれなりに気を使いましたが数百万のブログをクロールするとなると正規表現の部分は要チューニングかも。うまく取得できなかった5件の大まかな特徴は、サイドバーの一部と誤認moreのついている記事(トップページでは全文を表示しないで記事個別ページに飛ばすタイプ)記事の中にdivを使った区切り線があったはてなダイアリーのページ内リンクはどうしよう?(1ページに複数記事がある)今回の実験対象にはありませんでしたが、Yahoo!のブログや楽天のブログもHTMLがあまり整っていないので難あり。サイドバーやコメントに文字数が多いと誤認識するのが一番問題。これはHTMLの構造を解析する必要がありそう。ここから始まる精度との戦いはヘビーでしょう。いえ、こういった基礎研究的な技術はきっとみんなの役に立つ!と思いつつ、自分も必要になるのでアップデートしていくつもりです。うまい方法があればぜひ教えてください。PermalinkgooではRSSのdescriptionの内容がブログのHTMLのどこに入ってるかを探してるだけらしいです。RSSを集めてるからできる方法ですね。Permalinkコメントありがとうございますー。Ko-JiさんRSSのdescriptionを利用できると確かに精度が上がる気がします。いった方式の抽出方法もつくってもいいかも。Ryosukeさんはてブの上位にくるような文章だと適用できるかもしれないですね。計算コストとの折り合いがつくかどうか。読んでいると、ブログの本文抽出にチャレンジしているのを見つけました。注目ニュース流し読み小ネタ。はてなブックマークの「注目のニュース」には記事本文が付いていないので不便だなぁと思っていたので作ってみました。am「最近投稿された画像」を表示する機能を改善...先日追加した「最近投稿された画像」ですが、画像を表示できるブログがあまりに少なくて個人的にがっかりしたので、がんばって本文中の画像を取得するようにしてみました。参考にさせていただきました。RSSのdescriptionを利用しては?」というご意見をもとに改造したものです。