C++ / Inhalt eines HTML-Dokuments auslesen

RedlightX

Aktiver NGBler
Registriert
18 Juli 2013
Beiträge
1.094
Servus,

ich stecke momentan fest und suche Hilfe.

Ich möchte via C++ bestimmte Zeilen eines externen HTML-Dokumentes auslesen.
Allerdings hab ich keinen Schimmer, wie ich da vorgehen kann.

Google habe ich bereits penetriert. - Leider erfolglos, da es dort immer um eine lokale Textdatei ging.


Hat jemand einen Tipp?


Danke im Voraus!
 
Wo ist denn da der Unterschied? wenn du es bearbeiten oder lesen willst muss du es doch sowieso in von deiner Anwendung Lesbare Speicherbereiche kopieren. Und da gehören die Festplatten anderer zum Glück nicht so ohne weiteres dazu.
 
Aus deinem Beitrag wird mir nicht klar, ob dein Problem das Abrufen des externen HTML-Dokuments per HTTP(?) oder das Parsen desselben ist. Um das Dokument abzurufen, könntest du z.B. plattformunabhängig libcurl, QtNetwork, falls du bereits Qt benutzt, oder Windows-spezifisch das WinInet-API nutzen. Um das Dokument zu parsen, existieren verschiedene Ansätze - im Allgemeinen Fall ist sicherlich ein Tagsoup-Parser, wie ihn auch verbreitete Browser verwenden, die beste Lösung. Um eine bestimmte Information aus einem HTML-Dokument mit bekannter Struktur zu parsen, reichen in vielen Fällen jedoch auch (wesentlich einfacher zu implementierende) reguläre Ausdrücke aus.
 
  • Thread Starter Thread Starter
  • #4
Hallo ihr Beiden,

bitte entschuldigt meine doch sehr verzögerte Antwort.

Mir ging es in erster Linie um das Abrufen.

Ich hatte die letzten Tage leider recht viel zu tun, sodass ich mich bis dato noch nicht weiter mit dem Problem beschäftigt habe.
Morgen werde ich hier editieren und meine bisherigen Ergebnisse präsentieren .


Ich danke euch, für eure Antworten :T
 
Aus Kompatiblitätsgründen würde ich in dem Fall zu curl oder den QT Sachen raten technisch sollten beide einwandfrei sein. Selbst benutzt habe ich bislang nur (lib)curl.

Durch Win API hingegen bindest du dich da schonmal an Windows, bei den beiden anderen hast du das Problem nicht. Die sollten für gewöhnlich überall gleich kompilieren. curl hab ich schon selber benutzt und von QT viel gutes gehört.
 
Dem kann ich mich grundsätzlich nur anschliessen, zumal libcurl vergleichsweise kompakt ist und dabei auch diverse weitere Protokolle unterstützt. QtNetwork zu verwenden, macht nur Sinn, wenn man auch Qt nutzt, da man dadurch das Binary zumindest gegen QtCore und QtNetwork linken muss.

Die Nutzung des WinInet-APIs ist hingegen nur dann sinnvoll, wenn das Projekt ohnehin bereits Windows-spezifische Abhängigkeiten hat, nur unter Windows laufen soll und man keine zusätzlichen Bibliotheken mitliefern will.
 
Zurück
Oben