чтение urllib2 к Unicode

Если вы используете runnable, вы можете сэкономить место для расширения до любого другого вашего класса.

46
задан kiamlaluno 31 August 2010 в 20:27
поделиться

1 ответ

После выполненных вами операций вы увидите:

>>> req.headers['content-type']
'text/html; charset=windows-1251'

и так:

>>> encoding=req.headers['content-type'].split('charset=')[-1]
>>> ucontent = unicode(content, encoding)

ucontent теперь является строкой Unicode (из 140655 символов) - так, например, чтобы отобразить его часть, если ваш терминал UTF-8:

>>> print ucontent[76:110].encode('utf-8')
<title>Lenta.ru: Главное: </title>

и вы можете искать и т. д. и т. д.

Изменить: ввод-вывод Unicode обычно сложен (это может быть что задерживает первоначальный вопросник), но я собираюсь обойти сложную проблему ввода строк Unicode в интерактивный интерпретатор Python (совершенно не связанный с исходным вопросом), чтобы показать, как, когда строка Unicode правильно введена (я делаю это по кодовым точкам - глупо, но не сложно ;-), поиск - это абсолютно несложная задача (и поэтому, надеюсь, на исходный вопрос был дан исчерпывающий ответ). Снова предполагая терминал UTF-8:

>>> x=u'\u0413\u043b\u0430\u0432\u043d\u043e\u0435'
>>> print x.encode('utf-8')
Главное
>>> x in ucontent
True
>>> ucontent.find(x)
93

Примечание :

99
ответ дан 26 November 2019 в 20:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: