Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 4, 2014 08:48:02

quadright
Зарегистрирован: 2013-07-26
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

lxml tostring encoding='utf-8'

import lxml.html
print lxml.html.tostring( el.xpath('td[@class="auto"]',
                                pretty_print=True,
                                encoding='utf-8',
                                )[0]
Такое выдает:
<td class=“auto”>&#1050;&#1091;&#1079;&#1086;&#1074;:<br>&#1044;&#1074;&#1080;&#1075;&#1072;&#1090;&#1077;&#1083;&#1100;: F6A-T </td>

Как сделать чтоб encoding='utf-8' заработал?

Офлайн

#2 Фев. 4, 2014 09:05:38

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

lxml tostring encoding='utf-8'

часто выручает только такое

import HTMLParser
pars = HTMLParser.HTMLParser()
st = '&#1050;&#1091;&#1079;&#1086;&#1074;:<br>&#1044;&#1074;&#1080;&#1075;&#1072;&#1090;&#1077;&#1083;&#1100;'
print pars.unescape(st)
>> Кузов:<br>Двигатель

Офлайн

#3 Фев. 4, 2014 09:26:35

quadright
Зарегистрирован: 2013-07-26
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

lxml tostring encoding='utf-8'

Благодарю, дополнительная функция, но зато наверняка.

Офлайн

#4 Фев. 4, 2014 21:12:55

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

lxml tostring encoding='utf-8'

quadright
Как сделать чтоб encoding='utf-8' заработал?
у .tostring() есть свой аргумент encoding

help(lxml.html.tostring)



Офлайн

#5 Фев. 4, 2014 21:35:11

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

lxml tostring encoding='utf-8'

encoding=unicode
должен отработать

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version