![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Парсинг HTML [D7, WinXP]
Alex_C © (2009-05-21 19:06:00)Столкнулся с весьма специфичной задачью:
есть в инете HTML страничка. Надо ее скачать и пропарсить. Парситься она очень просто - каждый столбец у нее имеет свою позицию и длинну.
Проблема выяснилась в том, что данные в эту табличку могут вноситься с использованием национальных символов. В частности венгерская буква "o с двуми черточками сверху" при приеме интерпритируется в 2 символа - Е' - в результате чего столбцы сдвигаются, и парсить становиться невозможно. Кто нибудь знает, как с этим бороться?
sniknik (2009-05-22 23:17:00) [21]> Нет там тегов.
тогда это не HTML.
Alex_C (2009-05-22 23:01:00) [22]
> а парсить по тэгам?
:) Народ, типа не совсем тупой.
Нет там тегов. Текст просто разбитый ПРОБЕЛАМИ по столбцам. Это динамически формируемая таблица - отчет по приходящим данным.
brother (2009-05-22 10:26:00) [23]> и парсить становиться невозможно.
а парсить по тэгам?
brother (2009-05-22 05:34:00) [24]> Зачем?
видимо, чтобы избавиться от:
> В частности венгерская буква " o с двуми черточками сверху"
> при приеме интерпритируется в 2 символа - Е'
KilkennyCat (2009-05-22 00:37:00) [25]
> Сейчас пробую ф-цию UTF8ToAnsi...
Зачем?
Alex_C (2009-05-21 22:40:00) [26]
> тогда 2 символа на показ одного это мелочи, может быть до
> семи.
> а чего это невозможно парсить? разве нельзя алгоритм не
> зависящий от позиций придумать.
В том то и дело, что нельзя. В колонках может размещаться любой текст с пробелами, знаками препинания и т.д. Разделение - только жестко привязанные границы. И если оно сбивается - пропарсить уже невозможно.
Сейчас пробую ф-цию UTF8ToAnsi...
sniknik (2009-05-21 22:23:00) [27]тогда 2 символа на показ одного это мелочи, может быть до семи.
а чего это невозможно парсить? разве нельзя алгоритм не зависящий от позиций придумать.
Alex_C (2009-05-21 21:33:00) [28]В заголовке стоит content="text/html;charset=utf-8".
clickmaker (2009-05-21 19:25:00) [29]> венгерская буква "o с двуми черточками сверху" при приеме
> интерпритируется в 2 символа
кодировка - unicode или utf-8?