Декодирование HTML-кодированных строк в Python - PullRequest
1 голос
/ 27 мая 2009

У меня есть следующая строка ...

"Scam, hoax, or the real deal, he’s gonna work his way to the bottom of the sordid tale, and hopefully end up with an arcade game in the process."

Мне нужно превратить это в эту строку ...

Мошенничество, обман или реальная сделка, он собирается пробиться к дно грязной сказки, и надеюсь, закончится аркадной игрой в процессе.

Это довольно стандартная кодировка HTML, и я не могу понять, как конвертировать ее в python.

Я нашел это: GitHub

И он очень близок к работе, однако он не выводит апостроф, а вместо этого выводит какой-то символ unicode.

Вот пример вывода из скрипта GitHub ...

Мошенничество, обман или реальная сделка, он собираюсь проложить себе путь ко дну грязная история, и, надеюсь, в конечном итоге с аркадной игрой в процессе.

1 Ответ

4 голосов
/ 27 мая 2009

То, что вы пытаетесь сделать, называется «декодирование HTML-сущности», и оно освещается в ряде предыдущих вопросов о переполнении стека, например:

Вот фрагмент кода с использованием библиотеки разбора HTML Beautiful Soup для декодирования вашего примера:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from BeautifulSoup import BeautifulSoup

string = "Scam, hoax, or the real deal, he’s gonna work his way to the bottom of the sordid tale, and hopefully end up with an arcade game in the process."
s = BeautifulSoup(string,convertEntities=BeautifulSoup.HTML_ENTITIES).contents[0]
print s

Вот вывод:

Мошенничество, обман или реальная сделка, он собираюсь проложить себе путь ко дну грязная история, и, надеюсь, в конечном итоге с аркадной игрой в процессе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...