我正在寻找一个库来解析OCaml中的HTML文件.基本上相当于Jsoup/Beautiful Soup.主要要求是能够使用CSS选择器查询DOM.形式的东西
page.fetch("http://www.url.com")
page.find("#tag")
Run Code Online (Sandbox Code Playgroud)
我最近需要这样的东西,所以在看到这个问题并阅读评论中的建议之后,我在周末写了一个图书馆" Lambda Soup "以获得乐趣.
您将需要使用像ocurl或Cohttp这样的库来检索实际的HTML.拥有它之后,你就可以做到
html |> parse $ "#tag"
Run Code Online (Sandbox Code Playgroud)
做问题中提出的问题.有关其他可能性和完整签名,请参阅文档.您可能需要查看文档后处理器或测试以获得相当全面的使用和功能演示,包括CSS支持和扩展.
根据评论,Lambda Soup使用Ocamlnet的HTML解析器.Lambda Soup使用Markup.ml.否则,除了OUnit之外,它没有依赖关系,如果你想运行测试.我很高兴有任何反馈,包括修改界面(它处于早期阶段)或讨论向库中添加HTTP下载程序(这似乎是因为它极大地改变了现在的库的范围,但是我很高兴听到争论).
许可证是BSD.