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

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

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

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

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

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

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


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

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

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