|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.12.2013, 15:14 | #1 |
Пользователь
Регистрация: 03.07.2011
Сообщений: 92
|
Парсинг таблицы с помощью Html Agility Pack
Здравствуйте! Помогите, пожалуйста, грамотно распарсить страницу!
На странице имеется 2 вот такие таблицы: Код HTML:
<table class="c-table schedule" width="100%" > <tr><td class="time">08:30</td> <td><div class="day-div"> <div class="subject" title="Профессиональный русский язык">ПРЯ</div> <div class="room"> <a href="/view.php?weekType=1&aslist=0&for=4-213%D0%90">4-213А</a> </div> <div class="lesson-type" title="Практическая работа">ПР</div> <div class="group-teacher"> <a href="/view.php?weekType=1&aslist=0&for=%D0%9A%D0%B0%D0%BB%D0%B8%D0%BD%D0%B8%D0%BD%D0%B0+%D0%95.%D0%92." title="Калинина Е.В. · старший преподаватель">Калинина Е.В.</a></div> </div></td> Код:
Подскажите, что мне делать? П.С. Исходник страницы |
07.12.2013, 15:36 | #2 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
а что вам надо то?
|
07.12.2013, 15:54 | #3 |
Пользователь
Регистрация: 03.07.2011
Сообщений: 92
|
Мне надо получить массив элементов, которые представляют собой набор данных из тэгов <div class="subject">, <div class="room"> <div class="lesson-type"> и <div class="group-teacher">.
Т.е. как бы два массива, т.к. у меня две таблицы. |
07.12.2013, 16:02 | #4 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
так у вас в каждой ячейке таблицы они есть, да еще по времени распределены, тут надо тупо ходить по ровам и забирать
|
07.12.2013, 16:05 | #5 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
можно просто поиском в таблице выбрать все дивы с class="day-div", а далее в них копаться
типа DocTableOdd.SelectNodes("div[@class='day-div']") |
07.12.2013, 16:33 | #6 |
Пользователь
Регистрация: 03.07.2011
Сообщений: 92
|
Если брать все с классом div-day, они все в одну кучу соберутся и я их потом по дням и по времени не распихаю.
У меня так-то по 4-5 тэгов <tr> в одном <table> и 7 тэгов <td> в каждом <tr>... Или не пытаться распарсить все в одной функции? Написать еще 2 на каждую неделю. Мне просто все это потом в базу заносить... |
07.12.2013, 17:04 | #7 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
дивы соберутся по таблицам, через паренты выйдите на время и день
одна функция или несколько не столь важно, главное чтоб самой не запутаться |
07.12.2013, 17:18 | #8 |
Пользователь
Регистрация: 03.07.2011
Сообщений: 92
|
Это вы правильно заметили - главное самой не запутаться)
У меня еще проблема была. Когда я обращалась к Node, где у меня тэг <tr> и все, что внутри, то метод SelectNodes("div[@class='div-day']").ToList возвращал список с нулевыми элементами... |
07.12.2013, 18:10 | #9 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
что такое "нулевыми элементами"?
|
07.12.2013, 18:21 | #10 |
Пользователь
Регистрация: 03.07.2011
Сообщений: 92
|
Ну вот делаю я
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по Html Agility Pack C# | No_Comments | Помощь студентам | 4 | 01.12.2013 14:40 |
значения из html таблицы (парсинг) | Smagulov85 | Работа с сетью в Delphi | 12 | 19.08.2013 14:59 |
парсинг Html | djetx | Общие вопросы Delphi | 3 | 01.08.2011 18:56 |
Парсинг с помощью DOM | akum | Общие вопросы Delphi | 5 | 25.08.2009 19:19 |
Связать 2 таблицы AdvStringGrid компанента TMS Component Pack | Polotenchik | Компоненты Delphi | 3 | 27.06.2009 00:47 |