Categories: Software

So lässt sich HTML-Code mit dem Browser parsen und verarbeiten

Als Beispiel dient ein spezielles Projekt, eine Applikation, die sich Einträge auf Blogs anschaut und den eigentlichen Text, die Überschrift und den Zeitstempel ausliest, so dass man sie in ein anderes CMS importieren kann. Im Folgenden werden einige der Erfahrungen mit diesem Projekt beschrieben. Die Erkenntnisse daraus sollen das nächste Mal nützlich sein, wenn HTML-Code geparst werden muss.

Zum Parsen des HTML-Codes wird das Webbrowser-Steuerelement verwendet, ein .NET-Wrapper um das Internet-Explorer-ActiveX-Steuerelement. Mit dieser Komponente erledigt der Internet Explorer die Hauptarbeit hinsichtlich Parsen der Webseite und Bereitstellen der Eigenschaften. Jetzt muss man nur noch wissen, wie man an die Informationen herankommt. Leider weist der .NET-Wrapper nicht alle erforderlichen Funktionen auf, was eine zusätzliche Herausforderung darstellt.

Das Steuerelement zu instantiieren ist leicht – dafür muss nur der Standard-Konstruktor aufgerufen werden. Die Verarbeitung wird im Hintergrund erledigt, und dem Anwender muss kein Browser gezeigt werden. Um das Steuerelement auf eine Seite zu richten, kann man entweder die URL-Eigenschaft angeben oder die Navigate-Methode aufrufen.

Hier wird die Sache knifflig: Das Steuerelement macht alles asynchron, daher blockieren diese Aufrufe nichts. Wenn man versucht, auf das Dokument zuzugreifen, ist es wahrscheinlich noch nicht fertig, und man sieht lediglich ein leeres Dokument. Doch um die Sache noch komplizierter zu machen, kann man auch nicht einfach an der ReadyState-Eigenschaft drehen – man muss einen Aufruf von Application.DoEvents in diese Schleife einfügen, sonst wird die ReadyState-Eigenschaft nie auf Complete wechseln. Hier der dafür verwendete Code:

Wenn diese Schleife beendet wird, ist das Dokument vollständig geladen und kann verwendet werden. Das Projekt muss einen Verweis auf mshtml.tlb enthalten, und der Code muss mshtml verwenden beziehungsweise importieren.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

2 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

3 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

3 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

3 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

4 Tagen ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

5 Tagen ago