HTMLから意味のあるテキストを抽出する方法
-
09-10-2019 - |
質問
HTMLページを解析し、そこから意味のあるテキストを抽出したいと思います。誰もがこれを行うための良いアルゴリズムを知っていますか?
私はRailsでアプリケーションを開発しますが、Rubyはこれで少し遅いと思います。そのため、Cに良いライブラリが存在すると、適切だと思います。
ありがとう!!
PD:Javaで何もお勧めしないでください
更新:これを見つけました テキストをリンクします
悲しいことに、Pythonにあります
解決
使用する ノコギリ, 、これは速くてcで書かれています。
(regexpを使用してHTMLのような再帰的式を解析する 困難であり、エラーが発生しやすい そして、私はその道を下りません。この問題は何度も何度も発生しているように見えるので、答えでこれについて言及するだけです。)
たとえば、上記のNokogiriのような実際のパーサーを使用すると、HTMLドキュメントの構造と論理が保存されているという追加の利点も得られ、それらの手がかりが本当に必要な場合もあります。
他のヒント
Rubyと統合されたソリューション
- 使用する ノコギリ なので Amigable Clark Kantがお勧めします
- 使用する hplicot
外部ソリューション
- あなたのHTMLがよく形成されている場合、あなたは Expat XMLパーサー このため。
- HTMLのみを対象としたもののために、W3Cは実際にのコードをリリースしました libwww, 、aを含む シンプルなHTMLパーサー (ドキュメンテーション).
リンクス これを行うことができます。これを見たい場合は、これはオープンソースです。
テキストからすべての角度ブラケット部品を剥がしてから、白いスペースを崩壊させる必要があります。理論的には <
と >
他の場合にはそこにいるべきではありません。ページには含まれています <
と >
それらの代わりにどこでも。
ホワイトスペースの崩壊:すべてのタブ、Newlineなどをスペースに変換し、すべてのスペースを単一のスペースに置き換えます。
更新:そして、それを見つけた後に開始する必要があります <body>
鬼ごっこ。
所属していません StackOverflow