0

サイトのメイン コンテンツ DIV を検出するための戦略を考え出そうとしています。メイン コンテンツ div の意味: サイトのヘッダー、本文、およびフッターを含む div。

それを検出するのは非常に困難で遅いプロセスです。

たとえば、http://www.goo.ne.jp/では、 id="bodyWrapper" または "minWidthInbox" を検出します。これらの div にはサイトのメイン コンテンツが含まれているためです。

また、そのために多くのアルゴリズムを試しました。しかし、サイトの構造が奇妙で一貫性がないため、すべてのサイトを単一のアルゴリズムで実行することはできません。

テーブル レイアウトは特に検出が困難です。:-(

この問題にどのようにアプローチすればよいですか?

4

1 に答える 1

3

Readability http://www.readability.com/をご覧ください。彼らは、Web ページのコンテンツを抽出し、ヘッダー、フッター、広告などの他のすべての要素を削除するアルゴリズムを開発しました。

残念ながら、彼らのアルゴリズムはもう公開されていません。ここに API があります: http://www.readability.com/developers/api

オリジナルのアルゴリズムの実装もいくつかあります。Python 用のライブラリと NodeJS 用のライブラリ (https://github.com/arrix/node-readability) を使用しましたが、かなりうまく機能します。

メイン div に関する質問については、特定の Web サイトを廃棄する場合を除き、そのような特定のコードを検索することはお勧めしません。あなたはコンテンツを求めているように思えます。もちろん、ウェブサイトの html コードには、メインの div だけでなく、ほとんどすべてを含めることができます。

于 2012-10-27T08:29:42.213 に答える