In Python steht HTMLParser zur Verfügung. Dies sollte nicht mit der gleichnamigen Klasse des htmllib- Moduls verwechselt werden , da erstere Teil der Standardbibliothek ist. Wenn wir ein ordentliches Dokument erhalten, können wir HMTLParser verwenden , um dessen Inhalt durchsuchen zu können.
HTMLParser verwenden
Wenn Sie den HTMLParser verwenden , bedeutet dies, dass Sie Unterklassen daraus erstellen , damit wir die Methoden nach Belieben überschreiben und damit unsere Anforderungen erfüllen können . Nachfolgend finden Sie eine Liste der wichtigsten Methoden, die wir bei der Verwendung von HTMLParser erhalten .
- handle_starttag (tag, attrs): Wenn ein Starttag gefunden wird, ist attrs eine Folge von Paaren (Name, Wert).
- handle_startendtag (tag, attrs) : Wird für leere Tags verwendet. Standardmäßig werden Start und Schließen getrennt behandelt.
- handle_endtag (tag) : Wird verwendet, wenn ein schließendes Tag gefunden wird.
- handle_data (data): Wird verwendet, wenn Textdaten gefunden werden.
- handle_charref (ref): Wird verwendet, wenn mit Zeichenreferenzen des Formulars & # ref; gearbeitet wird.
- handle_entityref (name): Wir verwenden es, wenn wir Verweise auf Entitäten der Form & name; haben.
- handle_comment (data) : Wird nur aufgerufen, wenn kommentierter Inhalt vorhanden ist.
- handle_decl (decl): Wird für Anweisungen der Form <! …> verwendet.
- handle_pi (Daten): Wird zur Verarbeitung von Anweisungen verwendet.
Nachdem wir die wichtigsten Methoden von HTMLParser kennengelernt haben , sehen wir jetzt ein Bild mit einem Codebeispiel und erklären, woraus es besteht:
Das erste, was uns auffällt, ist, dass wir für dieses Screen Scraping nicht Tidy verwenden . Dies liegt daran, dass der zu überprüfende HTML-Code nicht schlecht geformt ist. Dann sehen wir, dass wir als erstes einige boolesche Variablen deklarieren, mit denen wir die Kontrolle übernehmen wenn wir uns in einem H4- Element oder in einem Link oder Link-Element befinden.
Wir haben etwas Besonderes mit der handle_data- Methode, da wir uns in einer realen Umgebung auf die komplexesten Szenarien vorbereiten müssen und dies bedeutet, dass wir diese Methode vorbereiten, da es fast sicher ist, dass wir beim ersten Aufruf nicht die erforderlichen Informationen erhalten Wenn wir alles bekommen, was wir tun, besteht es darin, die Daten zusammenzuführen.
Die Aktion unseres Programms beginnt, wenn wir die feed () -Methode aufrufen, an die wir den Text übergeben, der den Inhalt der Webseite darstellt, die wir mit der urlopen () -Methode erhalten, und wenn dies alles verarbeitet wurde, fahren wir mit dem Aufruf der close () -Methode fort .
Schließlich erreichen wir damit ein besser lesbares Screen Scraping- Programm, das reguläre Ausdrücke verwendet und in dem Aspekt, dass wir uns nicht auf feste Strukturen beschränken, etwas robuster ist, wodurch wir unsere Informationen korrekt erhalten können.
Damit haben wir unser Tutorial für HTMLParser abgeschlossen. Hier sehen wir, dass es viele Möglichkeiten gibt, zu diesen Lösungen zu gelangen, um die Informationen einer Webseite abzurufen.