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)
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!