to działa:
from BeautifulSoup import BeautifulStoneSoup
s = "U.S. Adviser’s Blunt Memo on Iraq: Time ‘to Go Home’"
decoded = BeautifulStoneSoup(s, convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
Jeśli chcesz ciąg zamiast obiektu Unicode, trzeba rozszyfrować go do kodowania, który obsługuje używane postacie; ISO-8859-1 nie:
result = decoded.encode("UTF-8")
To niefortunne, że potrzebujesz modułu zewnętrznego do czegoś takiego; proste dekodowanie obiektu HTML/XML powinno znajdować się w standardowej bibliotece i nie wymagać od mnie korzystania z biblioteki o pozbawionych znaczenia nazwach takich jak "BeautifulStoneSoup". (Nazwy klas i funkcji nie powinny być "kreatywne", powinny być znaczące.)
To pytanie wydaje się być bardzo popularne bez dobrego rozwiązania. Sprawia, że chcę napisać coś własnego ... – Triptych
Ha Myślę, że to najlepsze rozwiązanie, jakie do tej pory znalazłem. Właściwie mógłbym spróbować to zrobić sam. Jeśli to zrobię, opublikuję moje rozwiązanie. – KeyboardInterrupt
@ Triptych: istnieje ['unescape()'] (http://stackoverflow.com/a/20715131/4279). – jfs