- PVSM.RU - https://www.pvsm.ru -

Учимся бороться с ëÒÁËÏÚÑÂÒÙ

Недавно у меня возникла потребность скачивать кучу всяких документов из веба. Естественно не ручками, а питонячими скриптами. Но вот беда — довольно часто странички содержат кракозябры какую-то хрень.

image

Конечно, есть же куча всяких онлайн декодеров, типа 2cyr и пр. Но это всё не то — хочется всё же иметь возможность чинить кракозябры в скриптах. Перерыл кучу мест — не нашёл ничего годного для питона. В итоге почесал репу и накидал свой велосипед. Велосипед едет медленно, но зато едет.

Получившаяся библиотека менее интеллектуальная чем 2cyr — не умеет, например, декодить такие «кракозябры»: ирилица
На самом деле данное решение умеет делать только одно — распутывать цепочки последовательных перекодировок в удобочитаемый вид. Например, если текст в кодировке CP1251 был отображён в кодировке KOI8-R, то получится примерно такая фигня: йПЮЙНГЪАПШ АКЕЮРЭ.

Я не преследую сейчас цель что-то детально расписывать и плодить длинный пост. Я хочу сэкономить время того, кому моё решение может пригодиться.

Собственно,

$ pip install recoder

или

$ git clone https://bitbucket.org/dkuryakin/recoder.git
$ cd recoder && python setup.py install

После этого можно сделать так:

$ echo йПЮЙНГЪАПШ АКЕЮРЭ | python -mrecoder utf-8  # тут указываем кодировку локали.

Пользуйтесь на здоровье, заодно может под виндой кто-нибудь потестит (:

Автор: evil_factory

Источник [1]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/57728

Ссылки в тексте:

[1] Источник: http://habrahabr.ru/post/216969/