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