Heim > Backend-Entwicklung > Python-Tutorial > Wie kann Python einfachen Text effizient aus HTML extrahieren und dabei Entitäten und unerwünschte Inhalte verarbeiten?

Wie kann Python einfachen Text effizient aus HTML extrahieren und dabei Entitäten und unerwünschte Inhalte verarbeiten?

Patricia Arquette
Freigeben: 2024-11-29 20:12:11
Original
590 Leute haben es durchsucht

How Can Python Efficiently Extract Plain Text from HTML, Handling Entities and Unwanted Content?

Einfachen Text aus HTML mit Python extrahieren

Beim Bemühen, den Textinhalt aus einer HTML-Datei abzurufen, ist es von entscheidender Bedeutung, auf Robustheit zu achten Methoden, die HTML-Entitäten korrekt und effektiv verarbeiten. Während sich Lösungen, die reguläre Ausdrücke verwenden, möglicherweise als begrenzt erweisen, bieten Bibliotheken wie Beautiful Soup ausgefeiltere Optionen. Es bestehen jedoch weiterhin Probleme mit der Erfassung unerwünschten Textes und der Entitätsinterpretation.

Beautiful Soup: Ein leistungsstarkes Tool mit Einschränkungen

Beautiful Soup ist eine beliebte Wahl für die HTML-Analyse, aber dennoch ruft möglicherweise zusätzliche Elemente wie die JavaScript-Quelle ab und interpretiert HTML-Entitäten nicht. Beispielsweise ist die Sequenz ' im Quellcode wird im extrahierten Text nicht in ein Apostroph umgewandelt.

Geben Sie html2text ein: Eine vielversprechende Lösung

Derzeit erweist sich html2text als überzeugende Option. Es verarbeitet HTML-Entitäten problemlos und ignoriert unnötige Inhalte wie JavaScript. Es gibt zwar Markdown statt Klartext aus, kann aber leicht konvertiert werden.

Ein robuster und anpassbarer Ansatz

Der folgende Codeausschnitt nutzt Beautiful Soup und bietet eine verbesserte Kontrolle über Der Extraktionsprozess:

from urllib.request import urlopen
from bs4 import BeautifulSoup

url = "http://news.bbc.co.uk/2/hi/health/2284783.stm"
html = urlopen(url).read()
soup = BeautifulSoup(html, features="html.parser")

# Remove unwanted elements like scripts and styles
for script in soup(["script", "style"]):
    script.extract()

# Extract the text content
text = soup.get_text()

# Preprocess the text for improved readability
lines = (line.strip() for line in text.splitlines())
chunks = (phrase.strip() for line in lines for phrase in line.split("  "))
text = '\n'.join(chunk for chunk in chunks if chunk)

print(text)
Nach dem Login kopieren

Mit diesem Ansatz können Sie einfachen Text effektiv extrahieren und dabei sowohl gewünschte als auch unerwünschte Inhalte entsprechend Ihren Anforderungen verarbeiten Anforderungen.

Das obige ist der detaillierte Inhalt vonWie kann Python einfachen Text effizient aus HTML extrahieren und dabei Entitäten und unerwünschte Inhalte verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage