Decodifica di stringhe codificate in html in python

Ho la seguente stringa …

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

Ho bisogno di trasformarlo in questa stringa …

Scam, scherzo o il vero affare, si farà strada fino in fondo al racconto sordido, e si spera che finisca con un gioco arcade nel processo.

Questa è una codifica HTML piuttosto standard e non posso per la vita di me capire come convertirlo in python.

Ho trovato questo: GitHub

Ed è molto vicino al funzionamento, tuttavia non emette un apostrofo ma piuttosto un carattere unicode.

Ecco un esempio dell’output dallo script GitHub …

Scam, scherzo o il vero affare, si farà strada fino in fondo alla sordida storia, e si spera che finisca con un gioco arcade nel processo.

Quello che stai cercando di fare è chiamato “decodifica dell’ quadro HTML” ed è coperto da una serie di domande passate di Stack Overflow, ad esempio:

  • Come rimuovere gli apostrofi e simili in Python?
  • Decodifica di quadro HTML con Python

Ecco uno snippet di codice che utilizza la libreria di analisi HTML di Beautiful Soup per decodificare il tuo esempio:

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

Ecco l’output:

Scam, scherzo o il vero affare, si farà strada fino in fondo al racconto sordido, e si spera che finisca con un gioco arcade nel processo.