Парсинг строки из html - C#

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

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

Необходимо со странички http://www.bestchange.ru/wmr-to-wmz.html спарсить первую строку в таблице: WMCasher 28.2127 WMR 1 WMZ 4 015 1828 написал функцию... ошибок не выдает, но и ничего не выводит. В чем я ошибся? помогите, пожалуйста. Может быть в регулярном выражении напутал...
void webmoney()
        {
            // Адрес сайта с курсом валюты
            string url2 = "http://www.bestchange.ru/wmr-to-wmz.html";
            // HTML сайта с курсом валюты
            string html2 = string.Empty;
            
// Регулярное выражение
            string pattern2 = "WMCasher</a></td><td class=\"bi\">(.*)<small>(.*)</small></td>\r\n<td class=\"bi\">(.*)<small>(.*)</small></td>\r\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>";

            // Отправляем GET запрос и получаем в ответ HTML-код сайта с курсом валюты
            HttpWebRequest myHttpWebRequest2 = (HttpWebRequest)HttpWebRequest.Create(url2);
            HttpWebResponse myHttpWebResponse2 = (HttpWebResponse)myHttpWebRequest2.GetResponse();
            StreamReader myStreamReader2 = new StreamReader(myHttpWebResponse2.GetResponseStream());
            html2 = myStreamReader2.ReadToEnd();

            // Вытаскиваем из HTML-кода нужные данные
            Match match2 = Regex.Match(html2, pattern2);
 
            label1.Text = match2.Groups[6].ToString();
    
        }

Решение задачи: «Парсинг строки из html»

textual
Листинг программы
 void webmoney()
        {
            // Адрес сайта с курсом валюты
            string url2 = "http://www.bestchange.ru/wmr-to-wmz.html";
            // HTML сайта с курсом валюты
            string html2 = string.Empty;
 
            // Регулярное выражение
            string[] pattern2 = {"WMCasher</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "ChangeMoney</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "Exchanger39</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "WMtoCash</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "DemonChange</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "MegaExchange</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "SairosXchange</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "IntExchange</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "EasyChange</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "SuperChange</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "Changer</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "Cashing</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "Currex</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "Меняла</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "Обменов</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "Ewm24</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "NetExchange</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "N-Change</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "WebObmen</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "Обменник.ру</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "Обменник.ws</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class",
                                "Клад.ее</a></td><td class=\"bi\">(.*)<small>WMR</small></td>\n<td class=\"bi\">(.*)<small>WMZ</small></td>\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>\n<td class" };
 
            string[] obmen = { "WMCasher", "ChangeMoney", "Exchanger39", "WMtoCash", "DemonChange", "MegaExchange", "SairosXchange", "IntExchange", "EasyChange", "SuperChange", "Changer", "Cashing", "Currex", "Меняла", "Обменов", "Ewm24", "NetExchange", "N-Change", "WebObmen", "Обменник.ру", "Обменник.ws", "Клад.ее" };
            string[] otdacha = new string[22];
            string[] poluchka = new string[22];
            string[] reserv = new string[22];
            string[] bl = new string[22];
 
            // string pattern2 = "WMCasher</a></td><td class=\"bi\">(.*)<small>(.*)</small></td>\r\n<td class=\"bi\">(.*)<small>(.*)</small></td>\r\n<td class=\"ar\">(.*)</td><td class=\"ar\">(.*)</td>";
 
            // Отправляем GET запрос и получаем в ответ HTML-код сайта с курсом валюты
            HttpWebRequest myHttpWebRequest2 = (HttpWebRequest)HttpWebRequest.Create(url2);
            HttpWebResponse myHttpWebResponse2 = (HttpWebResponse)myHttpWebRequest2.GetResponse();
            StreamReader myStreamReader2 = new StreamReader(myHttpWebResponse2.GetResponseStream());
            html2 = myStreamReader2.ReadToEnd();
 
            // Вытаскиваем из HTML-кода нужные данные
         //   Match match2 = Regex.Match(html2, pattern2);
 
            dataGridView3.RowCount = 1;
 
            for (int i = 0; i < 22; i++)
            {
                Match match2 = Regex.Match(html2, pattern2[i]);
                otdacha[i] = match2.Groups[1].ToString();
                poluchka[i] = match2.Groups[2].ToString();
                reserv[i] = match2.Groups[3].ToString();
                bl[i] = match2.Groups[4].ToString();
 
 
                this.dataGridView3.Rows.Add(new object[] { obmen[i], otdacha[i] + " WMR", poluchka[i] + " WMZ", reserv[i], bl[i] }); 
            }
 
            }

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


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

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

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