0

我正在尝试使用 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 或 List ?

4

1 回答 1

0

AngleSharp 文档可能值得一读 :)

var links = document
    .Links
    .Cast<IHtmlAnchorElement>()
    .Select(e => e.Href)
    .Where(h => h.Contains(keyword));
于 2018-06-19T14:30:50.093 回答