2009-05-27 7 views
1

Ich habe die folgende Zeichenfolge ...Dekodierung html kodierten Strings in Python

"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." 

Ich brauche es in dieser Zeichenfolge zu drehen ...

Betrug, Schwindel, oder das einzig Wahre, er ’ s werde arbeiten seinen Weg zu der Unterseite der schmutzigen Geschichte, und hoffentlich mit einem Arcade-Spiel in den Prozess enden.

Dies ist ziemlich Standard-HTML-Codierung und ich kann nicht für das Leben von mir herausfinden, wie man es in Python konvertieren.

fand ich diese: GitHub

Und es ist ganz in der Nähe arbeiten, aber tut es ein Apostroph, sondern einige aus Unicode-Zeichen nicht ausgegeben. Hier

ist ein Beispiel für die Ausgabe des Skripts GitHub ...

Betrug, Schwindel, oder der real deal, HEAS würde arbeiten, um seinen Weg nach unten von die schmutzigen Geschichte, und hoffentlich Ende mit einem Arcade-Spiel in den Prozess.

+1

Doppelte http://stackoverflow.com/questions/275174/how-do-i-perform-html-decoding-encoding-using-python-django –

Antwort

4

Was sind Sie versuchen zu tun, heißt "HTML-Entity-Decodierung" und es ist in einer Reihe von Vergangenheit Stack Overflow Fragen, zum Beispiel behandelt:

Hier ist ein Code-Schnipsel mit der Beautiful Soup HTML-Parsing-Bibliothek, um Ihr Beispiel zu decodieren:

#!/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 

Hier ist der Ausgang:

Betrug, Schwindel, oder die einzig Wahre, er ist würde die schmutzige Geschichte, auf den Boden der seine Art und Weise arbeiten und hoffentlich mit einem Arcade-Spiel in der am Ende verarbeiten.

+0

ich früher den BeautifulSoup Code versucht hatte, und war immer noch eine immer Ausnahme. Es stellte sich heraus, dass es irgendwo anders in meinem Code Probleme mit den decodierten Unicode-Zeichen gab. – Lounges