2015-06-06 3 views
0
import lxml.html.clean as clean 
cleaner = clean.Cleaner(style=True, remove_tags=['div','span',], safe_attrs_only=['href',]) 
text = cleaner.clean_html('<a href="http://жк-сочи.рф/">link</a>') 
print text 

печатаетLXML чистые разрывы HREF атрибута

<a href="http://%C3%90%C2%B6%C3%90%C2%BA-%C3%91%C2%81%C3%90%C2%BE%C3%91%C2%87%C3%90%C2%B8.%C3%91%C2%80%C3%91%C2%84/">link</a> 

как получить:

<a href="http://жк-сочи.рф/">link</a> 

в HREF т.е. обычном кодировании?

+0

try lxml.html.tostring (текст, кодировка = "ascii") –

ответ

1

clean делает правильную вещь - строка в круглых скобках должна быть правильно закодирована, и, казалось бы, искаженная вещь является надлежащей кодировкой.

Возможно, вы не знаете, но кириллических доменных имен не существует - существует сложная система для сопоставления этих символов с «разрешенными» символами.

Смежные вопросы