Welchen HTML Parser soll ich nehmen?

Status
Nicht offen für weitere Antworten.

Fry

Aktives Mitglied
Hallo,

ich habe jetzt schon einige HTML Parser hier im Forum beguckt und bin mir aber beim Sichten der Dokumentation nicht so wirklich schlüssig geworden, welcher denn nun für mein Problem der beste Parser ist. Ich habe in Python mal einen benutzt, der echt schickt war:
Java:
elements = soup.findAll('td', 'std', onclick=True)
Damit hatte ich alle <TD>'s aus der Seite, die als "class" Attribut "std" hatten und in denen noch "onclick" stand. Hat denn schon mal jemand ein ähnliches Problem gelöst?

Also praktisch folgendes Konstrukt möchte ich betrachten, in dem ich den Text "DER_TEXT_INTERESSIERT_MICH" auslesen kann:
<TD CLASS=std onClick="function(386557);">DER_TEXT_INTERESSIERT_MICH</TD>

Alle Ansätze, die ich bis jetzt verfolgt habe, sind alle etwas umfangreicher und nicht so einfach. Deswegen die kurze Frage bevor ich losleg 🙂

Thx
Fry
 
Java ist keine dynamische Sprache wie Python, daher werden wahrscheinlich alle Lösungen etwas komplexer sein. Ich habe bisher htmlparser verwendet. Dort kann man per NodeFilter alle Nodes eines HTML-Dokuments suchen, die ein bestimmtes Prädikat erfüllen sollen.
 
Hallo,

ich habe das jetzt wie folgt gelöst (für den Fall, dass es noch jemand gebrauchen kann):
Java:
...
tableFilter = new NodeClassFilter (TableColumn.class);
        
		completeFilter = new AndFilter (
				tableFilter,
                new NodeFilter ()
                {
                    public boolean accept (Node node)
                    {
                    	String text = (node).getText();
                    	return text.contains("CLASS=std onClick=");
                        
                    }
                }
            );
...
dann
Java:
...
parser = new Parser (url);
list = parser.extractAllNodesThatMatch (completeFilter);
...
und dann kann man mit
Java:
...
list.elementAt (i).toPlainTextString()
...
auch noch ganz bequem nur auf den Inhalt des </TD>hier der Text</TD> zugreifen ohne die störenden <td> tags 🙂

Gruß
Fry
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben