通常、単一の Web サイトの Web コンテンツをクロールする場合は正規一致が使用されますが、異なる Web サイトの構造は非常に奇妙なため、統一された正規表現で一致させるのは困難です。 「行ブロック分散関数に基づく一般的なWebページテキスト抽出アルゴリズム」の著者は、Webページから記事テキストを抽出する一般的な方法をまとめ、行ブロック分散に基づくテキスト抽出アルゴリズムを提案し、PHP、Javaなどでの実装を提供しました。このアルゴリズムの主な原理は次の 2 つの点に基づいています。 1. テキスト領域の密度: HTML 内のすべてのタグを削除すると、テキスト領域の文字密度が高くなり、複数行の空白が少なくなります。 2. 行ブロックの長さ:非テキスト領域のコンテンツは平均的であり、個々のラベル (行ブロック) では短くなります。アルゴリズムの手順は次のとおりです:
1. スタイル、JS スクリプトのコンテンツなどを含むすべてのタグを削除しますが、元の改行は保持します
2. Web ページのコンテンツを行ごとに分割し、行ブロック $block_i$ を $[i, i + blockSize]$ として指定すると、行テキストが合計され、行番号に基づいて行ブロックの長さの分布関数が得られます。 テキストは
3 に表示されます。最長の行ブロック、行ブロックの長さまでの両側を切片 0 の範囲:
4. テキスト領域に表示される画像を抽出する必要がある場合は、テキスト領域のコンテンツを保持するだけで済みます。最初のステップでタグを削除するときの タグ:
上記は、[Python チュートリアル] Web ページのテキストとコンテンツ画像の抽出アルゴリズムの内容です。その他の関連コンテンツについては、注意してください。 PHP 中国語 Web サイト (www.php.cn)!