


Python-Programm zum Extrahieren von Zeichenfolgen zwischen HTML-Tags
Aug 19, 2023 am 09:37 AMHTML-Tags werden verwendet, um das Framework der Website zu gestalten. Wir geben Informationen weiter und laden Inhalte in Form von in Tags enthaltenen Zeichenfolgen hoch. Die Zeichenfolgen zwischen HTML-Tags bestimmen, wie das Element vom Browser angezeigt und interpretiert wird. Daher spielt das Extrahieren dieser Zeichenfolgen eine entscheidende Rolle bei der Datenmanipulation und -verarbeitung. Wir können die Struktur von HTML-Dokumenten analysieren und verstehen.
Diese Zeichenfolgen enthüllen die verborgenen Muster und die Logik hinter der Erstellung von Webseiten. In diesem Artikel befassen wir uns mit diesen Zeichenfolgen. Unsere Aufgabe besteht darin, Zeichenfolgen zwischen HTML-Tags zu extrahieren.
Das Problem verstehen
Wir müssen alle Zeichenfolgen zwischen HTML-Tags extrahieren. Unsere Zielzeichenfolge ist von verschiedenen Arten von Tags umgeben und nur der Inhaltsteil sollte abgerufen werden. Lassen Sie uns dieses Problem anhand eines Beispiels verstehen.
Eingabe- und Ausgabeszenarien
Betrachten wir eine Zeichenfolge -
Input: Inp_STR = "<h1 id="This-is-a-test-string">This is a test string,</h1><p>Let's code together</p>"
Die Eingabezeichenfolge besteht aus verschiedenen HTML-Tags und wir müssen die Zeichenfolge dazwischen extrahieren.
Output: [" This is a test string, Let's code together "]
Wie wir sehen können, werden die Tags „
“ und „
“ entfernt und die Zeichenfolge extrahiert. Nachdem wir das Problem nun verstanden haben, besprechen wir einige Lösungen.
Verwenden Sie Iteration und replace()
Diese Methode konzentriert sich auf das Entfernen und Ersetzen von HTML-Tags. Wir übergeben einen String und eine Liste verschiedener HTML-Tags. Danach initialisieren wir diese Zeichenfolge mit einem Element der Liste.
Wir durchlaufen jedes Element in der Tag-Liste und prüfen, ob es in der Originalzeichenfolge vorhanden ist. Wir übergeben eine „pos“-Variable, die den Indexwert speichert und den Iterationsprozess steuert.
Wir werden die Methode „replace()“ verwenden, um jedes Tag durch ein Leerzeichen zu ersetzen und eine Zeichenfolge ohne das HTML-Tag zu erhalten.
Die chinesische Übersetzung vonBeispiel
lautet:Beispiel
Hier ist ein Beispiel zum Extrahieren von Zeichenfolgen zwischen HTML-Tags -
Inp_STR = "<h1 id="This-is-a-test-string">This is a test string,</h1><p>Let's code together</p>" tags = ["<h1 id="">", "</h1>", "<p>", "</p>", "<b>", "</b>", "<br>"] print(f"This is the original string: {Inp_STR}") ExStr = [Inp_STR] pos = 0 for tag in tags: if tag in ExStr[pos]: ExStr[pos] = ExStr[pos].replace(tag, " ") pos += 1 print(f"The extracted string is : {ExStr}")
Ausgabe
This is the original string: <h1 id="This-is-a-test-string">This is a test string,</h1><p>Let's code together</p> The extracted string is : [" This is a test string, Let's code together "]
Verwenden Sie das Modul für reguläre Ausdrücke + findall()
Bei dieser Methode verwenden wir ein reguläres Ausdrucksmodul, um ein bestimmtes Muster abzugleichen. Wir übergeben einen regulären Ausdruck: „<“+tag+“>(.*?)“+tag+“>“, der das Zielmuster darstellt. Dieser Modus dient zur Erfassung öffnender und schließender Tags. Hier ist „tag“ eine Variable, deren Wert durch Iteration aus der Liste der Tags ermittelt wird.
Die Funktion „findall()“ wird verwendet, um alle Vorkommen eines Musters in einem Rohstring zu finden. Wir werden alle „Übereinstimmungen“ mit der Methode „extend()“ zu einer neuen Liste hinzufügen. Auf diese Weise extrahieren wir die im HTML-Tag enthaltene Zeichenfolge.
Die chinesische Übersetzung vonBeispiel
lautet:Beispiel
Hier ist ein Beispiel -
import re Inp_STR = "<h1 id="This-is-a-test-string">This is a test string,</h1><p>Let's code together</p>" tags = ["h1", "p", "b", "br"] print(f"This is the original string: {Inp_STR}") ExStr = [] for tag in tags: seq = "<"+tag+">(.*?)</"+tag+">" matches = re.findall(seq, Inp_STR) ExStr.extend(matches) print(f"The extracted string is: {ExStr}")
Ausgabe
This is the original string: <h1 id="This-is-a-test-string">This is a test string,</h1><p>Let's code together</p> The extracted string is: ['This is a test string,', "Let's code together"]
Verwenden Sie die Iterations- und find()-Funktion
In dieser Methode verwenden wir die Methode „find()“, um das erste Vorkommen der öffnenden und schließenden Tags in der Originalzeichenfolge abzurufen. Wir durchlaufen jedes Element in der Tag-Liste und ermitteln seine Position in der Zeichenfolge.
Eine While-Schleife wird verwendet, um die Suche nach HTML-Tags in der Zeichenfolge fortzusetzen. Wir werden eine Bedingung erstellen, um zu prüfen, ob die Zeichenfolge unvollständige Tags enthält. Bei jeder Iteration wird der Indexwert aktualisiert, um das nächste Vorkommen öffnender und schließender Tags zu finden.
Die Indexwerte aller öffnenden und schließenden Tags werden gespeichert und sobald die gesamte Zeichenfolge zugeordnet ist, verwenden wir String-Slicing, um die Zeichenfolge zwischen HTML-Tags zu extrahieren.
Die chinesische Übersetzung vonBeispiel
lautet:Beispiel
Hier ist ein Beispiel -
Inp_STR = "<h1 id="This-is-a-test-string">This is a test string,</h1><p>Let's code together</p>" tags = ["h1", "p", "b", "br"] ExStr = [] print(f"The original string is: {Inp_STR}") for tag in tags: tagpos1 = Inp_STR.find("<"+tag+">") while tagpos1 != -1: tagpos2 = Inp_STR.find("</"+tag+">", tagpos1) if tagpos2 == -1: break ExStr.append(Inp_STR[tagpos1 + len(tag)+2: tagpos2]) tagpos1 = Inp_STR.find("<"+tag+">", tagpos2) print(f"The extracted string is: {ExStr}")
Ausgabe
The original string is: <h1 id="This-is-a-test-string">This is a test string,</h1><p>Let's code together</p> The extracted string is: ['This is a test string,', "Let's code together"]
Fazit
In diesem Artikel haben wir viele Möglichkeiten zum Extrahieren von Zeichenfolgen zwischen HTML-Tags besprochen. Beginnen wir mit einer einfacheren Lösung: Suchen und Ersetzen von Tags durch Leerzeichen. Wir haben auch das Modul für reguläre Ausdrücke und seine Funktion findall() verwendet, um passende Muster zu finden. Wir haben auch etwas über die Methode find() und die Anwendung von String-Slicing gelernt.
Das obige ist der detaillierte Inhalt vonPython-Programm zum Extrahieren von Zeichenfolgen zwischen HTML-Tags. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Was sind die Vor- und Nachteile des Templatings?

So laden Sie Deepseek Xiaomi herunter

Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an

Für nur 250 US-Dollar zeigt Ihnen der technische Leiter von Hugging Face Schritt für Schritt, wie Sie Llama 3 verfeinern

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks

Eine vollständige Anleitung zum Debuggen und Analysieren von Golang-Funktionen

So speichern Sie die Evaluierungsfunktion
