Ich codiere viele Parser. Bisher habe ich den kopflosen Browser HtmlUnit zum Parsen und zur Browserautomatisierung verwendet.
Jetzt möchte ich beide Aufgaben trennen.
Da 80% meiner Arbeit nur das Parsen umfasst, möchte ich einen leichten HTML-Parser verwenden, da es in HtmlUnit viel Zeit kostet, zuerst eine Seite zu laden, dann die Quelle abzurufen und sie dann zu analysieren.
Ich möchte wissen, welcher HTML-Parser der beste ist. Der Parser wäre besser, wenn er sich in der Nähe des HtmlUnit-Parsers befindet.
BEARBEITEN:
Am besten möchte ich mindestens die folgenden Funktionen:
- Geschwindigkeit
- Einfaches Auffinden von HTML-Elementen anhand ihrer "ID" oder "Name" oder "Tag-Typ".
Es wäre in Ordnung für mich, wenn der schmutzige HTML-Code nicht bereinigt würde. Ich muss keine HTML-Quelle bereinigen. Ich brauche nur einen einfachsten Weg, um über HtmlElements zu wechseln und Daten von ihnen zu sammeln.
quelle
Antworten:
Self Plug: Ich habe gerade einen neuen Java HTML Parser veröffentlicht: jsoup . Ich erwähne es hier, weil ich denke, es wird das tun, wonach Sie suchen.
Der Partytrick ist eine CSS-Selektorsyntax zum Auffinden von Elementen, z.
Weitere Informationen finden Sie im Selector- Javadoc.
Dies ist ein neues Projekt, daher sind Verbesserungsvorschläge sehr willkommen!
quelle
Das Beste, was ich bisher gesehen habe, ist HtmlCleaner :
Mit HtmlCleaner können Sie jedes Element mit XPath finden.
Für andere HTML-Parser siehe diese SO-Frage .
quelle
Similar rules that the most of web browsers use
- Das ist nicht sehr überzeugendIch schlage den Parser von Validator.nu vor , der auf dem HTML5-Parsing-Algorithmus basiert. Es ist der Parser, der vom 03.05.2010 in Mozilla verwendet wird
quelle