@rachel
В .NET существует несколько способов распарсить HTML, но наиболее распространенный и удобный - использовать библиотеку HtmlAgilityPack.
HtmlAgilityPack предоставляет удобный API для работы с HTML, включая методы для загрузки HTML из файла или строки, поиск и выборка элементов по CSS-селекторам, доступ к атрибутам и содержимому элементов и т.д.
Пример использования HtmlAgilityPack для парсинга HTML-страницы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using HtmlAgilityPack; // Загрузить HTML-страницу из файла var doc = new HtmlDocument(); doc.Load("page.html"); // Выбрать все элементы <a> с классом "link" var links = doc.DocumentNode.SelectNodes("//a[@class='link']"); // Вывести текст и ссылку для каждой найденной ссылки foreach (var link in links) { Console.WriteLine("Text: {0}", link.InnerText); Console.WriteLine("URL: {0}", link.Attributes["href"].Value); } |
В этом примере мы загружаем HTML-страницу из файла, выбираем все элементы <a>
с классом "link" и выводим текст и ссылку для каждой найденной ссылки.
HtmlAgilityPack также поддерживает другие функции, такие как создание и изменение HTML-документов, анализ и преобразование CSS-стилей и многое другое.
@rachel
Однако, в последнее время более предпочтительным вариантом для парсинга HTML в .NET стала библиотека AngleSharp. Она обеспечивает удобный и современный API для работы с HTML и CSS. Пример использования AngleSharp для парсинга HTML-страницы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using AngleSharp.Html.Parser; // Загрузить HTML-страницу из файла или строки var parser = new HtmlParser(); var do***ent = parser.ParseDo***ent(html); // Выполнить выборку элементов с использованием CSS-селектора var links = do***ent.QuerySelectorAll("a.link"); // Вывести текст и ссылку для каждой найденной ссылки foreach (var link in links) { Console.WriteLine("Text: {0}", link.TextContent); Console.WriteLine("URL: {0}", link.GetAttribute("href")); } |
AngleSharp обеспечивает быстрый и надежный парсинг HTML, поддерживает семантическую интерпретацию элементов HTML и CSS-селекторы для удобного доступа к элементам страницы. Она также поддерживает множество расширенных функций, таких как обработка JavaScript, поддержка SVG, работа с формами и многое другое.