Heim > Artikel > Backend-Entwicklung > Wie behebt man „TypeError: In re.findall() kann kein Zeichenfolgenmuster für ein Byte-ähnliches Objekt verwendet werden'?
Problem:Beim Analyseversuch Beim Erstellen von Webseitentiteln mit regulären Ausdrücken erhalten Sie die Fehlermeldung „TypeError: String-Muster kann nicht für a verwendet werden Bytes-ähnliches Objekt in re.findall().“
Lösung:
In Python ist es beim Umgang mit heruntergeladenen Daten wie HTML von entscheidender Bedeutung, Bytes zu konvertieren. ähnliche Objekte (z. B. die Variable „html“) in Zeichenfolgen umwandeln, um Zeichenfolgenmustern zu entsprechen. Um diesen Fehler zu beheben, müssen Sie die Variable „html“ mit der Methode „.decode()“ dekodieren, bevor Sie das reguläre Ausdrucksmuster anwenden.
Code:
with urllib.request.urlopen(url) as response: html = response.read() html = html.decode('utf-8') # Decode the HTML to a string title = re.findall(pattern, html)
Erklärung:
Das obige ist der detaillierte Inhalt vonWie behebt man „TypeError: In re.findall() kann kein Zeichenfolgenmuster für ein Byte-ähnliches Objekt verwendet werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!