recherche

Maison  >  Questions et réponses  >  le corps du texte

python - Comment échapper automatiquement '<abc>' lorsque vous rencontrez de tels caractères d'échappement HTML sous python3?

Je suis nouveau sur Python lors de l'utilisation du robot scray, j'ai rencontré les caractères spéciaux du HTML, j'ai donc cherché dans la documentation sur Baidu :

import HTMLParser
html_parser = HTMLParser.HTMLParser()
s = '&l t;abc&g t;&nbs p;' #Un espace est laissé pour éviter que la page Web ne s'échappe
s = html_parser.unescape(s)

Invite d'exécution :
import markupbase
ImportError : aucun module nommé 'markupbase'


Avec l'aide d'un logiciel de traduction, j'ai trouvé la deuxième méthode en lisant la documentation officielle de HTMLParser

à partir de html.parser importer HTMLParser

classe MyHTMLParser(HTMLParser):

def handle_data(self, data):
    print(data)
    return data

parser = MyHTMLParser()
s = '&l t;abc&g t;&nbs p;' #Un espace est laissé pour éviter que la page Web ne s'échappe
ss=parser.feed(s)

La deuxième méthode a été testée avec succès. Le problème rencontré est que la phrase de données de retour n'est pas valide ?


Excusez-moi, existe-t-il un moyen de résoudre le problème d'échappement avec seulement quelques lignes de code ? S'il n'y a pas de deuxième méthode, comment puis-je obtenir la valeur de retour ?

typechotypecho2756 Il y a quelques jours1046

répondre à tous(1)je répondrai

  • 某草草

    某草草2017-06-12 09:29:01

    from html.parser import HTMLParser
    html_parser = HTMLParser()
    s = '<abc>&nbsp;'
    txt = html_parser.unescape(s)
    print(txt)
    # 结果:<abc>

    répondre
    0
  • Annulerrépondre