Inhaltsverzeichnis
Das Problem verstehen
Eingabe- und Ausgabeszenarien
This is a test string,
Verwenden Sie Iteration und replace()
Beispiel
", "
Ausgabe
Verwenden Sie das Modul für reguläre Ausdrücke + findall()
Verwenden Sie die Iterations- und find()-Funktion
Fazit
Heim Backend-Entwicklung Python-Tutorial Python-Programm zum Extrahieren von Zeichenfolgen zwischen HTML-Tags

Python-Programm zum Extrahieren von Zeichenfolgen zwischen HTML-Tags

Aug 19, 2023 am 09:37 AM
python 提取 html标签字符串

Python-Programm zum Extrahieren von Zeichenfolgen zwischen HTML-Tags

HTML-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>"
Nach dem Login kopieren

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 "]
Nach dem Login kopieren

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 von

Beispiel

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}")
Nach dem Login kopieren

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 "]
Nach dem Login kopieren

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+“>(.*?)“, 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 von

Beispiel

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}")
Nach dem Login kopieren

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"]
Nach dem Login kopieren

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 von

Beispiel

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}")
Nach dem Login kopieren

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"]
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die Vor- und Nachteile des Templatings? Was sind die Vor- und Nachteile des Templatings? May 08, 2024 pm 03:51 PM

Was sind die Vor- und Nachteile des Templatings?

So laden Sie Deepseek Xiaomi herunter So laden Sie Deepseek Xiaomi herunter Feb 19, 2025 pm 05:27 PM

So laden Sie Deepseek Xiaomi herunter

Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an Jul 01, 2024 am 07:22 AM

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 Für nur 250 US-Dollar zeigt Ihnen der technische Leiter von Hugging Face Schritt für Schritt, wie Sie Llama 3 verfeinern May 06, 2024 pm 03:52 PM

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 Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks May 06, 2024 pm 04:43 PM

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

Eine vollständige Anleitung zum Debuggen und Analysieren von Golang-Funktionen Eine vollständige Anleitung zum Debuggen und Analysieren von Golang-Funktionen May 06, 2024 pm 02:00 PM

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

Wie fragst du ihn Deepseek? Wie fragst du ihn Deepseek? Feb 19, 2025 pm 04:42 PM

Wie fragst du ihn Deepseek?

So speichern Sie die Evaluierungsfunktion So speichern Sie die Evaluierungsfunktion May 07, 2024 am 01:09 AM

So speichern Sie die Evaluierungsfunktion

See all articles