4

HTML ページを選択的に解析するような標準的な方法がありますがDOM、クローラー (小さなものから大きなものまで) は、分析対象の本文がどこにあるかをどのように検出できるのでしょうか?

キーワードを取得するために分析されるメイン テキストは、メニュー、サイドバー、フッターなどと混在しています。クローラーは、メニューやサイド パーツからキーワードをスキップすることをどのように認識しますか?

さまざまな HTML ページからキーワードをキャプチャする小さな PHP プロジェクトに取り組んでいますが、サイド コンテンツからキーワードがキャプチャされないようにする方法がわかりません。HTMLページでメインコンテンツを他のコンテンツと区別する方法を説明したり、少なくともヒントを教えてもらえますか?

4

2 に答える 2

2

通常、サイドバー、メニュー、およびフッターは、サイト全体の各ページで繰り返されます。実際のコンテンツは通常、各ページに固有です。これは、実際のコンテンツを区別するためのガイドとして使用できます。

クローラーはまた、ページ上のテキストを分析してコンテンツとしての重みを判断するために複雑なアルゴリズムを使用し、秘密を共有しない傾向があります。

迅速で簡単な方法はありません。クローラー開発者は独自の革新的な方法を考え出し、それらをまとめて使用してページのコンテンツの全体像を把握する必要があります。

于 2012-05-12T22:14:56.813 に答える
0

コンテンツがテキストの場合、ページのメインコンテンツは、単語の密度が比較的高い場所であると見なすことができます。

これは、検索エンジンに関連するページのメインコンテンツを意味します-ページのメインコンテンツは、基本的にテキスト用のp、em、bなどのタグを含むリテラルの数が主にdivであるdom要素内にあります書式設定は、しきい値より高いか上回っています。

次のロジックから始めましょう

Webページで使用されているすべてのタグを取得します。

コンテンツがリテラルと、p、em、b、li、ulなどのフォーマットタグとアンカータグのみで構成されているdom要素を書き留めておきます。

アンカータグのみを含むdivを残し、ナビゲーション目的であると想定します。

これらすべての中から、数が特定のしきい値を超えるdom要素を選択します。

このしきい値はWebサイトごとに異なり、avg(特定のURL構造のサイトのすべてのページで最も高いリテラルを持つdivで見つかったリテラル)と見なすことができます。

アルゴリズムは、その過程で学習する必要があります。

于 2012-05-15T17:40:17.070 に答える