Уведомления

Группа в Telegram: @pythonsu

#1 Май 27, 2013 08:06:20

wiygn
Зарегистрирован: 2012-08-19
Сообщения: 52
Репутация: +  2  -
Профиль   Отправить e-mail  

BeautifulSoup, urllib.request и богомерзкий UnicodeEncodeError

Всем здравствуйте. Есть такой код:

import urllib.request as ur
from bs4 import BeautifulSoup
req = ur.Request('http://rghost.ru/search?s=.jpg')
data = ur.urlopen(req)
html = data.read().decode('utf8', 'replace')
soup = BeautifulSoup(html)
print(soup.prettify())

Получаю следующую ошибку:
Traceback (most recent call last):
  File "C:\Python32\MYPROJ\django\fotoagregate\testing.py", line 11, in <module>
    print(soup.prettify())
  File "C:\Python32\lib\encodings\cp1251.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2713' in position 3043: character maps to <undefined>
[Finished in 1.6s with exit code 1]

Если вывести переменную html, то все отрабатывает нормально. Как пофиксить?
Окружение: WinXP SP3, Python 3.2.4, ST2, SublimeREPL

Самое забавное в том, что в ST print(html) отрабатывает нормально, а в виндовой консоли ловлю аналогичную ошибку.

Отредактировано wiygn (Май 27, 2013 08:07:09)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version