Heim  >  Fragen und Antworten  >  Hauptteil

python - Wie kann ich „<abc>“ automatisch maskieren, wenn ich unter Python3 auf solche HTML-Escape-Zeichen stoße?

Ich bin neu in Python. Als ich den Scray-Crawler benutzte, bin ich auf die Sonderzeichen von HTML gestoßen, also habe ich die Dokumentation auf Baidu durchsucht:

import HTMLParser
html_parser = HTMLParser.HTMLParser()
s = '&l t;abc&g t;&nbs p;' #Es wird ein Leerzeichen gelassen, um das Escapen von Webseiten zu vermeiden
s = html_parser.unescape(s)

Laufzeitaufforderung:
import markupbase
ImportError: Kein Modul namens „markupbase“


Mit Hilfe von Übersetzungssoftware habe ich die zweite Methode gefunden, indem ich die offizielle HTMLParser-Dokumentation gelesen habe

aus html.parser HTMLParser importieren

Klasse MyHTMLParser(HTMLParser):

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

parser = MyHTMLParser()
s = '&l t;abc&g t;&nbs p;'
Die zweite Methode wurde erfolgreich getestet, aber das Problem besteht darin, dass der Rückgabedatensatz ungültig ist?

Entschuldigung, gibt es eine Lösung, um mit nur wenigen Codezeilen zu entkommen? Wie kann ich einen Rückgabewert erhalten?
typechotypecho2686 Tage vor975

Antworte allen(1)Ich werde antworten

  • 某草草

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

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

    Antwort
    0
  • StornierenAntwort