Как unescape апострофы и т. Д. В Python?

У меня есть строка с такими символами:

' 

По-видимому, это апостроф.

Я попробовал saxutils.unescape () без всякой удачи и попробовал urllib.unquote ()

Как я могу декодировать это? Благодаря!

  • как получить содержимое javascript в python
  • запустить скрипт python с помощью кнопки html
  • Найти тег html с помощью BeautifulSoup в Python
  • Как читать html с URL-адреса в python 3
  • Как извлечь родительский тег html в Python, сопоставляя строку
  • Извлечение содержимого текстового содержимого таблицы с помощью xpath в строках для потребления?
  • Анализ переменных данных из тега javascript с использованием python
  • Создание HTML-документов в python
  • 4 Solutions collect form web for “Как unescape апострофы и т. Д. В Python?”

    Проверьте этот вопрос . То, что вы ищете, это «декодирование сущности html». Как правило, вы найдете функцию с именем «htmldecode», которая будет делать то, что вы хотите. Как Django, так и Cheetah предоставляют такие функции, как BeautifulSoup.

    Другой ответ будет отлично работать, если вы не хотите использовать библиотеку, и все объекты являются числовыми.

    Попробуйте следующее: (нашел его здесь )

     from htmlentitydefs import name2codepoint as n2cp import re def decode_htmlentities(string): """ Decode HTML entities–hex, decimal, or named–in a string @see http://snippets.dzone.com/posts/show/4569 >>> u = u'E tu vivrai nel terrore - L&#x27;aldil&#xE0; (1981)' >>> print decode_htmlentities(u).encode('UTF-8') E tu vivrai nel terrore - L'aldilà (1981) >>> print decode_htmlentities("l&#39;eau") l'eau >>> print decode_htmlentities("foo &lt; bar") foo < bar """ def substitute_entity(match): ent = match.group(3) if match.group(1) == "#": # decoding by number if match.group(2) == '': # number is in decimal return unichr(int(ent)) elif match.group(2) == 'x': # number is in hex return unichr(int('0x'+ent, 16)) else: # they were using a name cp = n2cp.get(ent) if cp: return unichr(cp) else: return match.group() entity_re = re.compile(r'&(#?)(x?)(\w+);') return entity_re.subn(substitute_entity, string)[0] 

    Наиболее надежным решением, по-видимому, является эта функция в потоке Python Fredrik Lundh. Это не кратчайшее решение, но оно обрабатывает именованные объекты, а также шестнадцатеричные и десятичные коды.

    Я не уверен о & или #, но здесь есть код для декодирования:

     >>>chr(39) "'" >>>ord("'") 39 
    Python - лучший язык программирования в мире.