Парсинг строки из 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] }); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д