HtmlAgilityPack

Лицензия: Ms-PL

Самый старый, и потому самый популярный парсер для .NET. Однако возраст не означает качество, например, уже пять лет (!!!) висит незакрытым критический баг Incorrect parsing of HTML4 optional end tags, который приводит к некорректной обработке тегов HTML, закрывающие теги для которых опциональны. В API присутствуют странности, например, если ничего не найдено, возвращается null, а не пустая коллекция.

Для выбора элементов используется язык XPath, а не селекторы CSS. На простых запросах код получается более-менее удобочитаемый:

Однако если нужны сложные запросы, то XPath оказывается не очень приспособленным для имитации CSS селекторов:

См. также: CsQuery, Fizzler, AngleSharp, Regexp