2015-11-03 22 views
5

OCamlでHTMLファイルを解析するライブラリを探しています。 基本的にJsoup/Beautiful Soupに相当します。 主な要件は、CSSセレクタを使用してDOMに問い合わせることです。OCamlでHTMLを解析する

page.fetch("http://www.url.com") 
page.find("#tag") 
+0

何についてhttps://github.com/mirage/ocaml-cow – objmagic

+0

ありがとうございます。私はそれを見つけましたが、HTMLのサポートは堅牢ではないようです。 "あなたはHTML入力解析でさまざまな制限を打つかもしれませんが、Cow 1.0の前にこれを解決したいと思いますが、まだありません..." – gidim

+0

'ocamlnet'はHTMLを解析する方法を持っています。セレクタをサポートしています。 –

答えて

5

の形で 何かが私は最近、このようなものの必要性を持っていたので、この質問を見て、コメントの推奨事項を読んだ後、私は楽しみのために週末のライブラリ「Lambda Soup」を書きました。

実際のHTMLを取得するには、ocurlやCohttpのようなライブラリを使いたいと思うでしょう。あなたがそれを持って、あなたが行うことができます

html |> parse $ "#tag" 

何が質問で尋ねることを行うには。他の可能性と完全な署名については、documentationを参照してください。 CSSのサポートや拡張機能などの使用法と機能のかなり徹底したデモンストレーションについては、postprocessorまたはtestsのドキュメントを参照してください。

Lambda Soupは、OcamlnetのHTMLパーサーを使用しています。ラムダスープはMarkup.mlを使用します。それ以外の場合は、テストを実行する場合はOUnit以外の依存関係はありません。私は、インタフェースの変更(初期段階です)やHTTPダウンローダのライブラリへの追加に関する議論など、フィードバックに満足しています(今のようにライブラリのスコープを大きく変えてしまうので、そうだと思われますが私は議論を聞いてうれしいです)。

ライセンスはBSDです。

+0

これは素晴らしいですね!あなたのすべての仕事にとても感謝します。もし私の発言があるなら、私は間違いなくあなたに知らせるでしょう。この段階では、HTTPダウンロードの追加が冗長であることに同意します。 – gidim