Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2009 12:46:32

diam123
От:
Зарегистрирован: 2008-10-23
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодировки

Доброго времени суток, уважаемые, уже замаялся с кодировками гребаными этими :( В упор не могу разобраться.
Короче, суть проблемы:
парсю регулярками страничку , выдираются слова на кириллице, результат :
\xdd\xec\xee\xf6\xe8\xee\xed\xe0\xeb\xfc\xed\xe0\
как из этого получить нормальный текст ?
Только пожалуйста дайте пример, ато без него никак не разберусь :(



Офлайн

#2 Янв. 19, 2009 13:20:38

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Кодировки

Юзай поиск по форуму! Обсуждалось много раз



Офлайн

#3 Янв. 19, 2009 13:25:11

diam123
От:
Зарегистрирован: 2008-10-23
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодировки

да юзал уже поиск, никак не пойму в упор :(, из-за чего и просил пример
Сейчас буду смотреть видео с RuPY
http://video.google.com/videoplay?docid=5035388502434680056 может поможет



Отредактировано (Янв. 19, 2009 13:27:01)

Офлайн

#4 Янв. 19, 2009 22:55:20

diam123
От:
Зарегистрирован: 2008-10-23
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодировки

Толку с того видео - 0 , решил код странички полученной преобразовать в юникод, делаю так:
paga = paga.decode('cp1251')
получаю UnicodeDecodeError: ‘ascii’ codec can't decode byte 0xcc in position 482: ordinal not in range(128)
потом хочу парсить регуляркой так:
values=re.findall(r'nick\“ value\=\”.*?\"\>\<\/td\>',paga)

покажите как сделать примером, что я не читаю, везде описания- почему оно так случается, и ни слова про то как это сделать кокретно :(



Офлайн

#5 Янв. 20, 2009 17:29:10

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Кодировки

Кодировка страницы какая? Ведь явно же не cp1251 раз получаете UnicodeDecodeError.
Где результат смотрите?

Офлайн

#6 Янв. 20, 2009 18:59:13

diam123
От:
Зарегистрирован: 2008-10-23
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодировки

Кодировка страницы стопудово cp1251 , уважаемый Ferroman спасибо за то, что откликнулись , проблему в принципе сегодня вроде решил, было два символа, за которые цеплялся - \xab и \xbb (что за хрень) решил по тупому - просто до того, как перевести в юникод, делаю replace этих символов на “”, мне более старнно то, что пытался играться с параметром errors=“replace”, но ошибка все равно вылазила, нельзя ли пожалуйста рабочий (для python 2.6.1) пример, где это реализовано.
P.S. На страничке ОЧЕНЬ много разных нестандартных символов



Офлайн

#7 Янв. 20, 2009 19:24:01

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Кодировки

Если бы был файл-пример с такой проблемой - было бы проще.

Офлайн

#8 Янв. 20, 2009 20:40:06

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Кодировки

Бред какой-то. Хочу исходники, полностью. Или составьте тестовый код, повторяющий ошибку, так будет лучше.
В ошибке четко говорится, что проблема при переводе в unicode и при использовании ascii, это ниак не согласуется с вашим кодом, вы уверены что ошибка возникает именно в это строке?
При использовании регулярок с unicode, есть какие-то особенности. Я не разбирался, просто стараюсь избегать unicode или регулярок :-).

..bw



Офлайн

#9 Янв. 22, 2009 17:29:26

diam123
От:
Зарегистрирован: 2008-10-23
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодировки

В принципе возможно, но я уже забил, если честно :)
Возможно, что ошибка вылазила при print
Честно сказать, не имею ни малейшего желания опять пытаться найти эту ошибку- я провел самых хреновейших часов пять в моей жизни, и не хочу о них вспоминать
Всем спасибо за помощь :)
Извините что напряг еще и Вас, господа



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version