|
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
|
|||||||||||
Обработка результатов парсинга (HtmlParser)07.01.2013, 14:00. Показов 1186. Ответов 6
Метки нет (Все метки)
Добрый день!
Сразу оговорюсь, что я начинающий и могу использовать иногда неправильную терминологию. Выполняю следующую задачу: Используя HtmlParser, обрабатываю один театральный сайт следующим образом: 1. Вывожу список спектаклей на текущий месяц в ListView. 2. При нажатии на спектакль парсится другая страница, и выводится состав исполнителей. Афишу обрабатываю легко, проблем нет, т.к. каждое название спектакля удобно представлено в HTML коде:
Но вот на ней и начинается всё кино: список исполнителей указан не по одному, как в вышеприведённом участке кода, а в куче:
Анализируя объект TagNode, в котором я получаю эти данные, я вижу такую картину: Где в array[0] -> content -> value лежит имя персонажа, а аж в array[1] -> children -> array[0] -> children -> array[0] -> children -> array[0] -> value - артист array[2] - ненужная мне информация. И так далее, по три элемента массива, располагается вся эта инфа. Конечная идея - выводить построчно в другой ListView инфу вида "Персонаж - имя артиста". Был бы очень рад советам, как мне выдернуть из вышеописанного TagNode нужные мне строки!
0
|
|||||||||||
| 07.01.2013, 14:00 | |
|
Ответы с готовыми решениями:
6
HTMLParser - ошибка памяти Обработка ошибки при загрузке для парсинга xml файла Обработка ошибки при загрузке для парсинга xml файла |
|
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 10
|
|
| 07.01.2013, 14:16 | |
|
там так и написано:
Персонаж_1 ? В любом парсере есть циклы, пропуски кода и т.д. Поэтому, в общем случае надо пропускать ноды, если пропуски регулярной структуры. Если в диве лежит XML структура, то удобно использовать парсер для XML
0
|
|
|
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
|
|
| 07.01.2013, 14:25 [ТС] | |
|
Petro345, нет, написаны были реальные персонажи и имена - я оформил просто код, абстрагируясь от имён))
Т.е. вы имеете в виду, что я могу отфильтровать нужные мне элементы ещё на этапе парсинга? А то я для себя сделал вывод, что парсер свою работу уже выполнил, а дальше мне как-то самому надо разгребать.. Буду тогда детальней читать доки по парсеру, спасибо..
0
|
|
|
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 10
|
|
| 07.01.2013, 14:32 | |
|
ну замени ФИО на Иванов и Петров.
Будет видно в чём проблема
0
|
|
|
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
|
|
| 07.01.2013, 17:15 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 10
|
|
| 07.01.2013, 17:32 | |
|
если у тебя там где Персонаж_1 - валидный (т.е. реальный) текст. И все скобки - теги соблюдены.
То прямо как ты написал, пропускать руками элементы массива - нормальный вариант. HTML сама по себе сложная и неформальная структура. imho
0
|
|
|
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
|
||||||||||||||||
| 09.01.2013, 18:10 [ТС] | ||||||||||||||||
|
Как я в конечном итоге решил свою проблему.
Не факт, что окончательный, но всё-таки вариант: Афишу я парсил таким образом:
Т.к. ФИО артистов выделены цветом:
Моя прога выводит список спектаклей на текущий месяц, а по клику на каждом - состав артистов. Единственное, что я пока не освоил - это вычитку персонажей. Как-то они так неудобно лежат в коде, что пока моих мегазнаний парсинга не хватает, чтобы их корректно выдернуть. Через "одно место" я их вычитать могу, но красиво - пока никак. И, так как персонажи в спектакле всегда одни и те же, а меняются лишь артисты, то я сделал XML-файл с перечнями персонажей, а потом подставляю им в соответствие вычитанных артистов. Вобщем, такая фигня. Если у кого-то есть мнение (а скорей всего так и есть)) ), что я сделал это криво, то очень был бы рад выслушать!
0
|
||||||||||||||||
| 09.01.2013, 18:10 | |
|
Помогаю со студенческими работами здесь
7
Обработка результатов оценок Обработка результатов запроса к БД обработка результатов работы JS Обработка результатов экзамена. Статистическая обработка результатов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|