Спарсить все теги и содержимое - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Есть код, но он парсит только главные теги a и или блоки div, а есть внутренние, в которых храниться необходимое для меня содержимое, каким образом можно их спарсить? Заранее благодарен. Вот код:
static void Main(string[] args)
        {
            // Загружем страницу
            string data = GetHtmlPageText("http://pr-cy.ru/a/webforu.ru");
 
            // Тег для поиска, ищем теги <a></a>
            string tag = "a";
            string pattern = string.Format(@"\<{0}.*?\>(?<tegData>.+?)\<\/{0}\>", tag.Trim());
            // \<{0}.*?\> - открывающий тег
            // \<\/{0}\> - закрывающий тег
            // (?<tegData>.+?) - содержимое тега, записываем в группу tegData
 
            Regex regex = new Regex(pattern, RegexOptions.ExplicitCapture);//перечисления
            MatchCollection matches = regex.Matches(data);
 
            foreach (Match matche in matches)
            {
                Console.WriteLine(matche.Value);
                Console.WriteLine("Содержание:");
                Console.WriteLine(matche.Groups["tegData"].Value);
                Console.WriteLine("---------------------------");
            }
 
            Console.ReadKey();
        }

        public static string GetHtmlPageText(string url)
        {
            WebClient client = new WebClient();
            using (Stream data = client.OpenRead(url))
            {
                using (StreamReader reader = new StreamReader(data))
                {
                    return reader.ReadToEnd();
                }
            }
        }

Решение задачи: «Спарсить все теги и содержимое»

textual
Листинг программы
// Загружем страницу
string data = GetHtmlPageText("http://pr-cy.ru/a/webforu.ru");
 
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(data);
HtmlNodeCollection nodes = htmlDoc.DocumentNode.SelectNodes("//a");
foreach (var node in nodes)
{
    Console.WriteLine(node.OuterHtml);
    Console.WriteLine("Содержание:");
    Console.WriteLine(node.InnerHtml);
    Console.WriteLine("---------------------------");
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы