Вынуть информацию из отдельного элемента сайта - C#

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

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

Мне надо загрузить все матчи со страницы http://dota2.ru/matches/ . Сайт, как я понял, загружать надо так
Листинг программы
  1. using System.IO;
  2. using StreamReader;
  3. using System.Text.RegularExpressions;
  4. using System.Net; string url = "http://dota2.ru/matches/"; // куда коннектиться
  5. string html = string.Empty; // поместим html код страницы HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(url);
  6. HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
  7. StreamReader sr = new StreamReader(myResponse.GetResponseStream(),Encoding.GetEncoding(1251));
  8. html = sr.ReadToEnd();
Но главными проблемами для меня остаются вот эти 1) Нужно вывести названия команды, время игры и , желательно, лигу в которой они играют. Все эти данные находятся в
Листинг программы
  1. class="page-content-main"/class="single-match"
названия находятся в
Листинг программы
  1. <div class="sm-team2">
  2. <div class="sm-country2"><img src="http://dota2.ru/img/flags/us.png" alt="img"></div>
  3. <div class="sm-name2">About Tree Fiddy</div>
  4. </div>"
Листинг программы
  1. <div class="sm-team1">
  2. <div class="sm-country1"><img src="http://dota2.ru/img/flags/us.png" alt="img"></div>
  3. <div class="sm-name1">Osiris Gaming</div>
  4. </div>
Время в
Листинг программы
  1. <div class="sm-vs">18.02 07:00</div>
А названия турнира в
Листинг программы
  1. <div class="sm-tourname">
  2. Helios Esports Dota 2 Tournament - Semi Final</div>
Нужно каким то образом вывести всё это либо в консоли, либо так, как вам будет удобно. Уже неделю пытаюсь разобраться, не доходит до меня.

Решение задачи: «Вынуть информацию из отдельного элемента сайта»

textual
Листинг программы
  1.         static void Main()
  2.         {
  3.             var request = WebRequest.Create("http://dota2.ru/matches/");
  4.             string html;
  5.             using (var sr = new StreamReader(request.GetResponse().GetResponseStream(), Encoding.GetEncoding(1251)))
  6.                 html = sr.ReadToEnd().Trim();
  7.  
  8.             var matches = Regex.Matches(html, @"(?<=<div class=""sm-tourname"">[\s*\n])[^<]+");
  9.             foreach (Match match in matches)
  10.             {
  11.                 Console.WriteLine(match.Value);
  12.             }
  13.             Console.ReadKey();
  14.         }

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


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

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

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы