Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 20, 2010 00:21:53

Dmitry1988
От:
Зарегистрирован: 2010-12-20
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

И снова кодировки

Доброй ночи.
Я использую python 2.7.1 для Windows.

Пишу парсер. Получил страницу в которой есть текст

title="Медиа-холдинг «Пронто-Москва»"
Очень похоже, что кодировка windows-1251. Но decode('cp1251') decode('windows-1251') encode('cp1251') encode('windows-1251') decode('utf-8') encode('utf-8') не помогли.

Получаю вот такие ошибки

Traceback (most recent call last):
File "D:\проекты\moscow parser\MoscowParser\src\moscowparser.py", line 28, in <module>
M.get_car_page_curl('/advert/96608845/')
File "D:\проекты\moscow parser\MoscowParser\src\moscowparser.py", line 24, in get_car_page_curl
print b.getvalue().encode('cp1251')
File "c:\Python27\lib\encodings\cp1251.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 901: ordinal not in range(128)
Буду рад помощи)



Офлайн

#2 Дек. 20, 2010 02:30:39

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9749
Репутация: +  843  -
Профиль   Отправить e-mail  

И снова кодировки

>>> t = u"Медиа-холдинг «Пронто-Москва»"
>>> t
u'\u0420\u045a\u0420\xb5\u0420\u0491\u0420\u0451\u0420\xb0-\u0421\u2026\u0420\u0455\u0420\xbb\u0420\u0491\u0420\u0451\u0420\u0405\u0420\u0456 \u0412\xab\u0420\u045f\u0421\u0402\u0420\u0455\u0420\u0405\u0421\u201a\u0420\u0455-\u0420\u045a\u0420\u0455\u0421\u0403\u0420\u0454\u0420\u0406\u0420\xb0\u0412\xbb'
>>> t.encode('cp1251')
'\xd0\x9c\xd0\xb5\xd0\xb4\xd0\xb8\xd0\xb0-\xd1\x85\xd0\xbe\xd0\xbb\xd0\xb4\xd0\xb8\xd0\xbd\xd0\xb3 \xc2\xab\xd0\x9f\xd1\x80\xd0\xbe\xd0\xbd\xd1\x82\xd0\xbe-\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0\xc2\xbb'
>>> print t.encode('cp1251')
Медиа-холдинг «Пронто-Москва»
>>>



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version