1

HTML をプレーン テキストに変換したいが、最小限の構造を保持したい。

  • <script> や <style> など、ブラウザーのみが表示する必要があるものを含むすべてのセクションを完全に削除します。
  • すべてのブロック タグを <div> に変換し、すべてのインライン タグを <span> に変換する、空白を残さずにインラインを完全に削除し、ブロック レベルで区切られたものを 2 つの改行のある段落に変換します。

このアイデアは、ランダムな Web ページを自然言語テキスト処理に適したものに変えることであり、単純にマークアップを削除したり、単語を人為的に分割したり、無関係なブロックを文のように見せたりすることでアーティファクトが残ることはありません。

任意のプログラミング言語の任意のバイナリ、ライブラリ、またはソースで問題ありません。

ブロック、インライン、および上記の <script> と <style> のような要素の完全なリストを備えた、できれば機械で読み取り可能な標準ソースはありますか?

4

3 に答える 3

1

HTML 4ブロックレベルの要素のリストは次のとおりです: http: //htmlhelp.com/reference/html40/block.html

Perl用の最も人気のあるHTML解析ライブラリは、SAXスタイルのパーサーであるHTML :: Parserと、よりDOMに似たHTML::TreeBuilderです。

それを超えて、どの要素が重要で、どの要素があなたがやろうとしていることに基づいていないかを決定する必要があります。

于 2010-12-21T03:03:53.063 に答える
0

ご自身で調査を行うこともできます。次に、問題が発生した場合は、その問題に関連する質問をします。これは、誰かにやってもらいたいプロジェクトの仕様のように聞こえます。

まず第一に、Web サイトはあらゆる種類のものにタグを使用しており、問題は非常に複雑です。おそらく h# および p タグに情報を保存したいでしょうが、id タグを使用している場合は div タグ情報も保存したいかもしれません。つまり、遭遇する Web サイトごとにルールを作成するか、ある種のファジー ロジックを採用する必要があります。

タグごとではなく、文章や文法など、見出しにありそうなものを検出して、それらを含むタグを選んでそれ以外を取り除いてみませんか?

于 2010-12-17T17:55:58.193 に答える
0

HTML::Parser を github gist として使用して Perl でこの問題を解決するための私自身のツールは次のとおりです: html2txt.pl

それは未完成で、おそらく少し Windows 中心ですが、私の質問をここで見た人が何人かいたので、共有したいと思いました。気軽に遊んでください。

于 2010-12-22T18:58:01.607 に答える