使用 LINQ 从 HTML 文档中提取一组字符串

Extract a set of strings from a HTML document using LINQ

我正在尝试使用 AngleSharp 解析器通过 LINQ 从 HTML 文档中提取包含特定关键字的 URL。

我想到了:

    static void Test(string htmlDocument)
    {
        var parser = new HtmlParser();
        var document = parser.Parse(htmlDocument);

        var links = document.All.Where(m => m.LocalName == "a" && !string.IsNullOrEmpty(m.GetAttribute("href")) 
                                       && m.GetAttribute("href").Contains("keyword"))
                                       .Select(m => m.GetAttribute("href"));

        foreach (var link in links)
        {
            Console.WriteLine(link);

        }
    }

是否有更好的方法(更容易编写或更快 运行)将 URLS 放入 IEnumerable 或列表中?

AngleSharp 文档可能值得一读:)

var links = document
    .Links
    .Cast<IHtmlAnchorElement>()
    .Select(e => e.Href)
    .Where(h => h.Contains(keyword));