在 HTML 解析器中通过 class 或 id 查找对象

Finding objects by class or id in HTML parser

在 F# 中有一个 nice library 用于解析 HTML 文件。我可以轻松获得所有 <a> 个对象:

let links = results.Descendants ["a"]

但是搜索具有特定 类 或 ID 的对象呢?这个库是否提供这样的功能?

不幸的是,这个库的文档很糟糕,我真的不知道我能用它做什么。

有一个正在进行的拉取请求 adding CSS selectors to F# Data。如果您能通过测试和审核来帮助我们,那就太好了!

同时,您可以使用标准的 F# 集合处理函数——例如,要查找具有 class="fl"<a> 个元素,您可以这样写:

results.Descendants ["a"]
|> Seq.filter (fun a -> 
    a.TryGetAttribute("class")
    |> Option.map (fun cls -> cls.Value()) = Some "fl")
|> Seq.iter (fun l -> 
    printfn "%s" (l.InnerText()))