Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
1 / 1 / 0
Регистрация: 31.12.2020
Сообщений: 86

Парсинг таблицы HTML

25.07.2022, 00:34. Показов 2256. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть сайт - https://kbp.by/rasp/timetable/... roup&id=54
Нужно получить данные по расписанию по дням
как не пробовал - не получалось
в коде ниже вместо русских символов получал иероглифы
C#
1
2
3
4
5
6
7
8
9
10
11
12
            WebClient webClient = new WebClient();
            var page = GetHtml("https://kbp.by/rasp/timetable/view_beta_kbp/?cat=group&id=54");
 
 
            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.LoadHtml(page);
 
            List<List<string>> table = doc.DocumentNode.SelectSingleNode("//table")
                        .Descendants("tr")                
                        .Where(tr => tr.Elements("td").Count() > 1)
                        .Select(tr => tr.Elements("td").Select(td => td.InnerText.Trim()).ToList())
                        .ToList();
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.07.2022, 00:34
Ответы с готовыми решениями:

Парсинг таблицы HTML
По этому коду получается вся таблциа в 1 строку string html = streamReader.ReadToEnd(); HtmlDocument...

Парсинг делают одновременно со скачиванием html, или в конце со скачанным html
Представим что html байт за байтом записывается в файл, Как правильнее сделать парсинг , после того как будет скачан полностью весь html,...

HTML парсинг
Привет всем! Мне сказали код можно в 2 строки написать. Как правильно парсить HTML со страницы в C#? Допустим мне нужно с этого сайта в...

30
126 / 94 / 34
Регистрация: 24.06.2022
Сообщений: 253
25.07.2022, 21:29
Студворк — интернет-сервис помощи студентам
конечно кидайте все что есть.
и сами проверяйте на этом коде свою программу.
0
1 / 1 / 0
Регистрация: 31.12.2020
Сообщений: 86
25.07.2022, 21:33  [ТС]
Архив страницы
Вложения
Тип файла: rar Архив WinRAR.rar (6.8 Кб, 2 просмотров)
0
1 / 1 / 0
Регистрация: 31.12.2020
Сообщений: 86
25.07.2022, 21:34  [ТС]
HTML+CSS страницы
Вложения
Тип файла: rar Архив WinRAR.rar (6.8 Кб, 2 просмотров)
0
126 / 94 / 34
Регистрация: 24.06.2022
Сообщений: 253
25.07.2022, 22:47
ошибок нет с теми страницами что в архиве

с линком поупражнялся
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
         HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.LoadHtml(page);
 
            var dataTable = doc.DocumentNode.SelectSingleNode("//table");
            var cells = dataTable.SelectNodes("//td[not(contains(@class, 'number'))]");
 
 
            int days = 6;
   
            List<List<string>> table = Enumerable.Range(1, days)
                .Select(i => cells
                    .Where(item => item.Descendants()
                    .Where(n => n.HasClass("lw_" + i)).Count() > 0)
                    .Select(item =>
                    {
                        var arr = item.InnerText
                         .Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)
                         .Where(x => !string.IsNullOrWhiteSpace(x))
                         .Select(item => item.Trim());
                        return string.Join("\n", arr);
                    }).ToList()).ToList();
понедельник
C#
1
2
3
4
5
   table[0].ForEach(i =>
                {
                    Console.WriteLine(i);
                    Console.WriteLine();
                });
ФизКультура
Жуковская Е.К.
Т-117
20

ЗащитаНасТерЧС
Столбовая Н.В.
Т-117
109
2 неделя

Математика
Гальцова О.В.
Т-117
427
0
1 / 1 / 0
Регистрация: 31.12.2020
Сообщений: 86
25.07.2022, 22:54  [ТС]
тоже самое, возможно криво скинул сайт
пожалуйста, попробуйте зайти на оригинал вот так
Миниатюры
Парсинг таблицы HTML  
0
126 / 94 / 34
Регистрация: 24.06.2022
Сообщений: 253
25.07.2022, 22:58
ввввввввввввввввввввввв
Миниатюры
Парсинг таблицы HTML  
0
1 / 1 / 0
Регистрация: 31.12.2020
Сообщений: 86
25.07.2022, 23:06  [ТС]
при запуске архива выше у вас получался такой сайт?
возможно криво кинул просто
Миниатюры
Парсинг таблицы HTML  
0
1 / 1 / 0
Регистрация: 31.12.2020
Сообщений: 86
25.07.2022, 23:17  [ТС]
возможно поможет..
0
1 / 1 / 0
Регистрация: 31.12.2020
Сообщений: 86
25.07.2022, 23:18  [ТС]
перезалил страницу в 1 файлике
Вложения
Тип файла: rar Архив WinRAR (2).rar (6.3 Кб, 2 просмотров)
0
126 / 94 / 34
Регистрация: 24.06.2022
Сообщений: 253
25.07.2022, 23:26
Цитата Сообщение от chukaz Посмотреть сообщение
возможно поможет..
кому поможет ?
у меня никаких ошибок нет.

со страницами что в архивах всё в порядке.

Добавлено через 24 секунды
ошибки у вас . ищите в чем дело.

Добавлено через 2 минуты
что и ваш код не пашет ?
Цитата Сообщение от chukaz Посмотреть сообщение
C#
1
2
3
4
5
6
7
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.LoadHtml(page);
List<List<string>> table = doc.DocumentNode.SelectSingleNode("//table")
                        .Descendants("tr")                
                        .Where(tr => tr.Elements("td").Count() > 1)
                        .Select(tr => tr.Elements("td").Select(td => td.InnerText.Trim()).ToList())
                        .ToList();
0
1 / 1 / 0
Регистрация: 31.12.2020
Сообщений: 86
25.07.2022, 23:29  [ТС]
криво формирует листы насколько помню, на счет ошибки возможно понял в чем дело, ибо у меня сайт работает, у двоих друзей так же как и у вас нет, только не понятно почему, возможно из за этого и ошибка, пытаясь найти на странице на которую не может зайти выкидывает null
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.07.2022, 23:29

Парсинг HTML
Здравствуйте, решил потренироваться в написании парсера Html страниц, но уперся в проблему и покуда не могу её решить. Для парсинга...

Парсинг html
Здравствуйте, нужно парсить логины и сообщения с определенного сайта Код с логином class=&quot;username&quot;...

Парсинг html
Доброе время суток. Есть html и мне не удается его полностью пропарсить, привожу код . . . string...

HTML парсинг
Ребят, подскажите, пожалуйста, как встроенными средствами C# в консольном приложении (т.к код будет потом запускаться с батником, я про -...

Парсинг HTML
подскажите как вообще парсить HTML? не имел дела с этим вообще пока что... надо спарсить небольшую базу данных с сайта


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru