Scaricare una pagina web

Java:
Scaricare una pagina web

Come fare:

Per scaricare una pagina web in Java, possiamo usare la classe URLConnection combinata con un BufferedReader. Ecco un esempio pratico:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class WebPageDownloader {

    public static void main(String[] args) {
        try {
            URL url = new URL("http://example.com");
            URLConnection connection = url.openConnection();
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            
            String inputLine;
            while ((inputLine = reader.readLine()) != null) {
                System.out.println(inputLine);
            }
            reader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Output di esempio (dipenderà dalla pagina che scarichi):

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
    ...
</html>

Approfondimenti:

Scaricare una pagina web non è una novità; si fa dai tempi delle connessioni dial-up. Prima si usavano librerie come Apache HttpClient. Ora, con Java 11 o superiore, c’è HttpClient, che semplifica il processo e gestisce meglio le connessioni.

L’approccio mostrato sopra usa classi vecchie ma affidabili che funzionano dalla JDK 1.0. Se usi Java 11 o superiore, considera HttpClient. La libreria esterna Jsoup è utile per parsing di HTML. Remeber, sempre verifica la legalità dello scraping e l’uso di dati scaricati.

Vedi anche:

Tieni presente che queste informazioni sono aggiornate alla data del mio ultimo aggiornamento nel 2023. Verifica sempre la documentazione più recente per gli aggiornamenti delle API.