Quelltext aus Webseiten auslesen (Java): Unterschied zwischen den Versionen
K |
K |
||
Zeile 11: | Zeile 11: | ||
<code=java> | <code=java> | ||
JTextArea ta = new JTextArea(); | JTextArea ta = new JTextArea(); | ||
− | while(scanner. | + | while(scanner.hasNextLine()) { |
ta.append(scanner.nextLine()+"\n"); | ta.append(scanner.nextLine()+"\n"); | ||
} | } |
Version vom 19. August 2014, 08:52 Uhr
Wenn man Webseiten bearbeiten oder parsen möchte, muss zunächst der Quelltext der Webseite geholt werden. Dazu wird ein Stream zur Datenquelle erzeugt.
Es gibt mehrere Möglichkeiten, den Quelltext aus einem Stream in den Speicher einzulesen. Z.B. stehen uns hier die Klassen Scanner
oder BufferedReader
zur Verfügung.
Welche davon genutzt wird, hängt z.T. von den persönlichen Vorlieben, von der Ziel-JRE, oder den angebotenen Methoden ab.
<code=java> URL url = new URL("http://www.byte-welt.net"); Scanner scanner = new Scanner(new InputStreamReader(url.openStream())); </code=java> Damit ist ein Stream zur Index-Seite von Byte-Welt geöffnet, aus dem wir nun den Textinhalt der Webseite (also HTML-Text, nicht der PHP-Code) lesen können.
<code=java> JTextArea ta = new JTextArea(); while(scanner.hasNextLine()) {
ta.append(scanner.nextLine()+"\n");
}
add(new JScrollPane(ta);
</code=java>
In diesem Beispiel würden wir den ausgelesenen Quelltext in einer JTextArea
ausgeben.