Перейти к публикации
Форум - ComputerCraft
qwertyMAN

Нужна помощь в парсинге html кода

Рекомендованные сообщения

Всем привет! Спустя столько времени я снова пишу новый пост.

 

В этот раз я занялся изучением CoronsSDK для написания программ под андроид. Увы, те проги, что я хотел написать под андроид уже есть в плей маркете. Но всё же желание разобраться с этим движком осталось.

Залез я в такую тёмную для меня область как парсинг html кода и http запросы.

Ну с http запросами я ещё как-никак разобрался и даже научился скачивать и сохранять код страницы.

А вот с парсингом у меня проблемы. И первая из них заключается в неправильной кодировки.

 

Страница которую я скачал содержит кодировку:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<meta http-equiv="content-language" content="ru">

И спокойно сохраняет всё в файл. А вот кодировка в CoronaSDK другая и русские слова он принтит как пустые места (знак пробела). То есть не видит их.

В свою очередь, если сохранить русские слова из созданной в CoronaSDK переменной в файл, то при просмотре файла блокнотом видны вот такие символы

привет

На лицо не соответствие кодировок.

Я попытался найти в интернете инфу о том как прочитать и обработать html код в этой кодировки, но не смог.

Возможно из-за невнимательности, а возможно и из-за незнания английского языка.

В общем первый вопрос звучит так: "Как прочитать и обработать русский код в данной html странице?"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Цель проекта, дать http запрос и получить страницу с расписанием в виде таблички. Убрать всё лишнее и записать эти данные в массив.

Далее устраивать обработку данных всякого рода, вроде показа расписания на сегодня и прочее. Моя задача научится html таблицы парсить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что? Почему в топике "парсинг HTML [разметки]", а в ОП "помогите с кодировкой 1251 разобраться"? Различие между HTML и кодировкой понятно же? Ну я надеюсь.

 

Надо определиться с вопросом и пояснить, что именно нужно. Либу для парсинга HTML, транслятор Win-1251 -> UTF-8, ...?

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что? Почему в топике "парсинг HTML [разметки]", а в ОП "помогите с кодировкой 1251 разобраться"? Различие между HTML и кодировкой понятно же? Ну я надеюсь.

 

Надо определиться с вопросом и пояснить, что именно нужно. Либу для парсинга HTML, транслятор Win-1251 -> UTF-8, ...?

Лучше и то и другое. Но ПЕРВЫЙ вопрос был о трансляторе. Второй вопрос касается парсинга и в принципе я его не разбирал пока.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

оффтоп

@@Fingercomp а что это у тебя опять за каша и грязька в подписи, я же вроде поправил на днях? Откуда ты берешь эти теги хатэмлешные? :)

 

@@qwertyMAN глянь, может тут что-то тебе пригодится https://github.com/msva/lua-htmlparser

 

п.с. ДжониДжонсон кидает либу для UTF-8 unicode/ASCII https://forums.coronalabs.com/topic/35013-encoding-utf-8-networkrequest/
а что это за сайт с кодировкой Win-1251 до сих пор? Такие бывают еще?

поспрашивай там у них на форуме тогда у них транслятор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

а что это за сайт с кодировкой Win-1251 до сих пор? Такие бывают еще?
 

 

VK, к примеру, до сих пор юзает charset=windows-1251.

Маньяки, сэр.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

оффтоп

@@Fingercomp а что это у тебя опять за каша и грязька в подписи, я же вроде поправил на днях? Откуда ты берешь эти теги хатэмлешные? :)

 

@@qwertyMAN глянь, может тут что-то тебе пригодится https://github.com/msva/lua-htmlparser

 

п.с. ДжониДжонсон кидает либу для UTF-8 <=> unicode/ASCII https://forums.coronalabs.com/topic/35013-encoding-utf-8-networkrequest/

а что это за сайт с кодировкой Win-1251 до сих пор? Такие бывают еще?

поспрашивай там у них на форуме тогда у них транслятор.

этот парсер вроде бы создает дом дерево не последовательно исходному тексту, по этому я когда - то свой парсер писал.

 

P.S

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

Изменено пользователем NEO

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
а что это за сайт с кодировкой Win-1251 до сих пор? Такие бывают еще?

@@Alex Ну, это всего лишь официальный сайт Петербургского университета. Ничего нового. 

Изменено пользователем qwertyMAN

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Распарси этот файл, в нём соотношения символов windows-1251 и Unicode. Потом по таблице на этой странице перегони их в UTF-8 (или, если лень заниматься велосипедостроительством, юзай этот кусок кода). Ну а если совсем лень - юзай уже перегнанную мной таблицу(ключ - cbvdjk в Windows-1251, значение - символ в UTF-8)

Изменено пользователем evgkul
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×