Parse html mit C
Muss ich greifen einige Inhalte aus einer HTML - (XHTML-valid) Seite. Ich schnappe mir die Seite mit curl und speichern Sie Sie im Speicher.
Spielte ich mit der Idee der Verwendung von regex mit der PCRE-Bibliothek, sondern einfach, ich konnte keine Beispiele für die Verwendung mit C. Dann wechselte ich zu betrachten, HTML-Parser und wieder gibt es keine gute Auswahl. Alle, die ich finden konnte war ein knappes dokumentiert-Modul für libxml genannt HTMLparser.
Gibt es alternativen? Wenn nicht, dann Beispiele für das was ich bereits gefunden?
- Obligatorische link zur Warnung vor dem Parsen von HTML mit regulären Ausdrücken: stackoverflow.com/questions/1732348/...
- Siehe folgenden link, den ich schrieb die ganze Lösung mit libxml2 C-Bibliothek für die windows-Plattform. stackoverflow.com/questions/5465965/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Sie verwenden möchten HTML tidy, dies zu tun. Die Lib curl Seite hat einige Quell-code, um Sie gehen. Dokumente Durchlaufen der dom-Struktur. Sie brauchen nicht einen xml-parser. Fehl nicht auf schlecht formatierte html.
http://curl.haxx.se/libcurl/c/htmltidy.html
Ich würde libhtmltidy + was xml-parser wie expat oder libxml. Hängt davon ab, was du bist suchen für.
Wenn Sie möchten, um XML zu Parsen mit C, dann bei weitem der beste Weg zu gehen, ist die Verwendung der LibXML Bibliothek. Die Hauptseite ist bei http://xmlsoft.org/. Zusätzlich zu Ihren downloads, Sie haben explizite code-Beispiele, die besonders zeigen, wie Sie zu behandeln analysieren. Ich weiß, für eine Tatsache, die Sie bekommen können vorkompilierte Versionen für Mac und Windows und den meisten Linux-und BSD-Distributionen bereits enthalten, und Sie können von der Quelle erstellen, wenn Sie möchten.
Google vor kurzem eine Reine C99-Bibliothek zum Parsen von HTML, HTML5 spezifisch. Es ist einfach zu bedienen in jedem C-Programm und aktiv entwickelt werden.
https://github.com/google/gumbo-parser