...

вторник, 25 марта 2014 г.

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


сегодня в 06:45


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

image


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


Получившаяся библиотека менее интеллектуальная чем 2cyr — не умеет, например, декодить такие «кракозябры»: ирилица

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


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


Собственно,



$ pip install recoder




или

$ git clone http://ift.tt/1jz7d29
$ cd recoder && python setup.py install


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



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


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





Свежий взгляд

на бег


протестируй кроссовки

нового поколения




Стань

первоиспытателем!


Скачай Windows Server 2012 R2

и выиграй почетную футболку!


Скачать




Автоматизированное

продвижение сайтов




  • 50% экономии на ссылках

  • Запуск проекта за 10 минут

  • Вывод и удержание в ТОП 10



Подробнее




Новый 3G-планшет Login 2



2790 р.*


*Условия акции на www.megafon.ru

Подробнее




Разрабатываешь

приложения для бизнеса?


Участвуй в конкурсе



Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий