diam123
Янв. 19, 2009 12:46:32
Доброго времени суток, уважаемые, уже замаялся с кодировками гребаными этими :( В упор не могу разобраться.
Короче, суть проблемы:
парсю регулярками страничку , выдираются слова на кириллице, результат :
\xdd\xec\xee\xf6\xe8\xee\xed\xe0\xeb\xfc\xed\xe0\
как из этого получить нормальный текст ?
Только пожалуйста дайте пример, ато без него никак не разберусь :(
igor.kaist
Янв. 19, 2009 13:20:38
Юзай
поиск по форуму! Обсуждалось много раз
diam123
Янв. 19, 2009 13:25:11
да юзал уже поиск, никак не пойму в упор :(, из-за чего и просил пример
Сейчас буду смотреть видео с RuPY
http://video.google.com/videoplay?docid=5035388502434680056 может поможет
diam123
Янв. 19, 2009 22:55:20
Толку с того видео - 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)
покажите как сделать примером, что я не читаю, везде описания- почему оно так случается, и ни слова про то как это сделать кокретно :(
Ferroman
Янв. 20, 2009 17:29:10
Кодировка страницы какая? Ведь явно же не cp1251 раз получаете UnicodeDecodeError.
Где результат смотрите?
diam123
Янв. 20, 2009 18:59:13
Кодировка страницы стопудово cp1251 , уважаемый Ferroman спасибо за то, что откликнулись , проблему в принципе сегодня вроде решил, было два символа, за которые цеплялся - \xab и \xbb (что за хрень) решил по тупому - просто до того, как перевести в юникод, делаю replace этих символов на “”, мне более старнно то, что пытался играться с параметром errors=“replace”, но ошибка все равно вылазила, нельзя ли пожалуйста рабочий (для python 2.6.1) пример, где это реализовано.
P.S. На страничке ОЧЕНЬ много разных нестандартных символов
Ferroman
Янв. 20, 2009 19:24:01
Если бы был файл-пример с такой проблемой - было бы проще.
bw
Янв. 20, 2009 20:40:06
Бред какой-то. Хочу исходники, полностью. Или составьте тестовый код, повторяющий ошибку, так будет лучше.
В ошибке четко говорится, что проблема при переводе в unicode и при использовании ascii, это ниак не согласуется с вашим кодом, вы уверены что ошибка возникает именно в это строке?
При использовании регулярок с unicode, есть какие-то особенности. Я не разбирался, просто стараюсь избегать unicode или регулярок :-).
..bw
diam123
Янв. 22, 2009 17:29:26
В принципе возможно, но я уже забил, если честно :)
Возможно, что ошибка вылазила при print
Честно сказать, не имею ни малейшего желания опять пытаться найти эту ошибку- я провел самых хреновейших часов пять в моей жизни, и не хочу о них вспоминать
Всем спасибо за помощь :)
Извините что напряг еще и Вас, господа