Спарсить данные с HTML страницы - C#
Формулировка задачи:
Имеется HTML страница, со следующими содержаниеми:
Помогите спарсить данные и получить данные 10 игроков,в TextBox таком виде:
Спасибо за ранее!
<table class="table table-hover"> <thead> <tr> <th>№</th> <th>Имя</th> <th>Уровень</th> <th>Раса</th> <th>Класс</th> <th>Пол</th> <th>AP</th> <th>Ранг</th> <th>Убийств</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>AlexGordon</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/angel.png' title='Ангел' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/sniper.png' title='Снайпер'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/male.png' title='Мужской' /></td> <td>709 511</td> <td>Военачальник</td> <td>2938</td> </tr> <tr> <td>2</td> <td>Chukcha</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/angel.png' title='Ангел' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/assassin.png' title='Убийца'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/male.png' title='Мужской' /></td> <td>456 833</td> <td>Командующий</td> <td>1308</td> </tr> <tr> <td>3</td> <td>Tralivali</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/angel.png' title='Ангел' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/assassin.png' title='Убийца'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/female.png' title='Женский' /></td> <td>178 581</td> <td>Командующий</td> <td>1261</td> </tr> <tr> <td>4</td> <td>Mantana</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/demon.png' title='Демон' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/sniper.png' title='Снайпер'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/female.png' title='Женский' /></td> <td>27 183 126</td> <td>Военачальник</td> <td>2787</td> </tr> <tr> <td>5</td> <td>Morgan</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/angel.png' title='Ангел' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/sniper.png' title='Снайпер'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/male.png' title='Мужской' /></td> <td>969 760</td> <td>Великий генерал</td> <td>1046</td> </tr> <tr> <td>6</td> <td>Narch</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/demon.png' title='Демон' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/chanter.png' title='Чародей'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/male.png' title='Мужской' /></td> <td>630 952</td> <td>Командующий</td> <td>466</td> </tr> <tr> <td>7</td> <td>Baxa</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/angel.png' title='Ангел' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/gladiator.png' title='Гладиатор'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/male.png' title='Мужской' /></td> <td>316 570</td> <td>Великий генерал</td> <td>84</td> </tr> <tr> <td>8</td> <td>Body</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/angel.png' title='Ангел' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/chanter.png' title='Чародей'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/male.png' title='Мужской' /></td> <td>179 445</td> <td>Великий генерал</td> <td>433</td> </tr> <tr> <td>9</td> <td>Anila</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/angel.png' title='Ангел' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/bard.png' title='Бард'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/female.png' title='Женский' /></td> <td>79 208</td> <td>Великий генерал</td> <td>455</td> </tr> <tr> <td>10</td> <td>Sage</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/demon.png' title='Демон' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/assassin.png' title='Убийца'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/male.png' title='Мужской' /></td> <td>52 577</td> <td>Командующий</td> <td>761</td> </tr> <tr> <td>11</td> <td>Green</td> <td>65</td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/demon.png' title='Демон' /></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/assassin.png' title='Убийца'></td> <td><img src='http://test1.ru/wp-content/themes/Game/img_top/male.png' title='Мужской' /></td> <td>42 273</td> <td>Командующий</td> <td>761</td> </tr>
№: 1 Ник: AlexGordon Раса: Ангел Класс: Снайпер Пол: Мужской Очки: 709 511 Ранг: Военачальник Убийства: 2938 - - - - - - - - - - - - №: 2 Ник: Chukcha Раса: Ангел Класс: Убийца Пол: Мужской Очки: 456 833 Ранг: Командующий Убийства: 1308 ... и т.д до 10-го игрока
Помогите пожалуйста!
я совсем нубик в программировании(( выручайте..
Решение задачи: «Спарсить данные с HTML страницы»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Windows.Forms; using HtmlAgilityPack; using HtmlDocument = HtmlAgilityPack.HtmlDocument; namespace ConsoleApplication3 { internal class Program { private static void Main() { var doc = new HtmlDocument(); doc.Load("input.txt"); var q = doc.DocumentNode.SelectNodes("//tbody/tr").Select(n => { IEnumerable<HtmlNode> tmpArr = n.Elements("td"); return new { number = tmpArr.ElementAt(0).InnerHtml, nick = tmpArr.ElementAt(1).InnerHtml, race = tmpArr.ElementAt(3).Element("img").GetAttributeValue("title", ""), @class = tmpArr.ElementAt(4).Element("img").GetAttributeValue("title", ""), sex = tmpArr.ElementAt(5).Element("img").GetAttributeValue("title", ""), points = tmpArr.ElementAt(6).InnerHtml, rank = tmpArr.ElementAt(7).InnerHtml, killing = tmpArr.ElementAt(8).InnerHtml }; }).Take(10).ToList(); string result = q.Aggregate(string.Empty, (current, variable) => current + (variable.number + Environment.NewLine + variable.nick + Environment.NewLine + variable.race + Environment.NewLine + variable.@class + Environment.NewLine + variable.sex + Environment.NewLine + variable.points + Environment.NewLine + variable.rank + Environment.NewLine + variable.killing + Environment.NewLine + Environment.NewLine)); var textBox = new TextBox(); textBox.Multiline = true; textBox.ScrollBars = ScrollBars.Both; textBox.Size = new Size(234, 237); textBox.Text = result; var form = new Form(); form.Controls.Add(textBox); form.AutoSize = true; Application.Run(form); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д