Java:
Webseite herunterladen
How to:
Hier ist ein einfacher Weg, um mit Java eine Webseite herunterzuladen:
import java.io.*;
import java.net.URL;
public class WebPageDownloader {
public static void main(String[] args) {
String webPageUrl = "http://example.com";
String outputPath = "downloaded_page.html";
try (InputStream inputStream = new URL(webPageUrl).openStream();
FileOutputStream outputStream = new FileOutputStream(outputPath)) {
inputStream.transferTo(outputStream);
System.out.println("Webseite wurde erfolgreich heruntergeladen!");
} catch (IOException e) {
System.out.println("Fehler beim Herunterladen der Webseite: " + e.getMessage());
}
}
}
Ausgabe:
Webseite wurde erfolgreich heruntergeladen!
Deep Dive
Das Herunterladen von Webseiten ist nicht neu. Früher nutzte man Tools wie wget
oder curl
. Programmiersprachen haben dann eigene Methoden entwickelt, um dieses Vorgehen zu vereinfachen.
In Java gibt es verschiedene Wege, um eine Webseite herunterzuladen. Die obige Methode verwendet java.net.URL
und java.io.InputStream
, was einfach und direkt ist. Aber man könnte auch HttpClient
aus Java 11 verwenden, der eine modernere und flexiblere API bietet:
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("http://example.com"))
.build();
client.sendAsync(request, HttpResponse.BodyHandlers.ofFile(Paths.get("downloaded_page.html")))
.thenApply(HttpResponse::body)
.thenAccept(System.out::println)
.join();
Egal, welche Methode man wählt, Fehlerbehandlung ist wichtig. Verbindungsfehler, Zeitüberschreitungen und fehlerhafte URLs sind häufige Probleme.