Ich möchte aus einer Internetseite eine Tabelle auslesen, z.B. Wikipedia...
Habe das bislang so:
Allerdings möchte ich nicht die Informationen von <td style="...".....> sonder dass was zwischen <td style="..."> und </td> steht, also sozusagen den Tabelleninhalt.
Als Beispiel(Wikipedia Deutschland-Artikel):
)
Da möchte ich nur Hauptstadt und Berlin haben...
Hoffe ich habe es einigermaßen gut erklärt...
Habe das bislang so:
Code:
import org.w3c.tidy.Tidy;
import org.w3c.dom.Node;
import org.w3c.dom.NamedNodeMap;
import java.net.URL;
import java.util.ArrayList;
public class Erste{
public static void printSelectedTags(Node parent, String ... selectedTags){
for(int i = 0; i < selectedTags.length; i++){
if(parent.getNodeName().equals(selectedTags[i])){
NamedNodeMap nmap = parent.getAttributes();
System.out.print("<" + parent.getNodeName());
for(int j = 0; j < nmap.getLength(); j++)
System.out.print(" " + nmap.item(j).getNodeName() + "=\"" + nmap.item(j).getNodeValue() + "\"");
System.out.println(">");
}
}
for(int i = 0; i < parent.getChildNodes().getLength(); i++)
printSelectedTags(parent.getChildNodes().item(i), selectedTags);
}
public static void main(String[] args) throws Exception{
Tidy t = new Tidy();
t.setXmlTags(true);
URL url = new URL("http://de.wikipedia.org/wiki/Deutschland");
Node rootElement = t.parseDOM(url.openConnection().getInputStream(), null);
printSelectedTags(rootElement, "tr", "td");
}
}
Allerdings möchte ich nicht die Informationen von <td style="...".....> sonder dass was zwischen <td style="..."> und </td> steht, also sozusagen den Tabelleninhalt.
Als Beispiel(Wikipedia Deutschland-Artikel):
HTML:
<td style="background-color:#f2f2f4; font-size:90%;" valign="top"><b><a href="/wiki/Hauptstadt" title="Hauptstadt">Hauptstadt</a></b></td>
<td style="font-size:90%;"><a href="/wiki/Berlin" title="Berlin">Berlin</a></td>
Da möchte ich nur Hauptstadt und Berlin haben...
Hoffe ich habe es einigermaßen gut erklärt...