WEB SCRAPING CON JSOUP

Il web scraping è la pratica di estrarre dati da pagine web attraverso l'utilizzo di software o strumenti automatizzati. Questa attività ha guadagnato molta popolarità negli ultimi anni, poiché sempre più aziende e organizzazioni cercano di sfruttare i dati pubblici disponibili sul web per trarne vantaggio competitivo. Tuttavia, la pratica del web scraping non è sempre legale e può sollevare preoccupazioni sulla privacy e sulla violazione dei diritti d'autore.

In Italia, il web scraping è disciplinato dal diritto d'autore e dalla legge sulla privacy. In particolare, la Legge sul diritto d'autore (n. 633/1941) stabilisce che la riproduzione di un'opera protetta dal diritto d'autore è consentita solo con il consenso dell'autore o del titolare dei diritti. Ciò significa che, se i dati estratti da una pagina web sono protetti dal diritto d'autore, il web scraping può essere considerato una violazione del copyright. Inoltre, la legge sulla privacy (n. 196/2003) protegge le informazioni personali degli utenti, quindi se i dati estratti contengono informazioni personali, il web scraping può violare la legge sulla privacy.

Per evitare problemi legali, è importante verificare se i dati che si intende estrarre sono protetti da copyright o se contengono informazioni personali. Inoltre, è sempre consigliabile consultare un avvocato per assicurarsi che il web scraping sia legale.

Per quanto riguarda l'utilizzo di jsoup, questo è un'ottima libreria Java per il web scraping. Jsoup permette di analizzare, manipolare e visualizzare HTML, fornendo una vasta gamma di funzionalità per il web scraping.

Ecco un esempio di codice Java che utilizza jsoup per estrarre il titolo ed il body dal mio sito personale:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class WebScraper {
  public static void main(String[] args) {

        try {
            var url = new URL("https://pierpaolodidato.it");
            HttpURLConnection connection;
            try {
                connection = (HttpURLConnection) url.openConnection();
                connection.setRequestProperty("accept", "application/json");

                try {
                    InputStream responseStream = connection.getInputStream();
                    Document document = Jsoup.parse(responseStream, "UTF-8", "https://pierpaolodidato.it");
                    var title = document.title();
                    var body = document.body();

                    System.out.println("Title: " + title);
                    System.out.println("Body: " + body);

                } catch (IOException e) {
                    e.printStackTrace();
                }
            } catch (IOException e1) {
                e1.printStackTrace();
            }

        } catch (MalformedURLException e1) {
            e1.printStackTrace();
        }

    }
}

In questo esempio, il programma si connette al sito web specificato attraverso il metodo connect() di jsoup e recupera l'intera pagina HTML utilizzando il metodo get(). Successivamente, utilizzando i metodi title() e body() della classe Document di jsoup, vengono estratti, rispettivamente, il titolo ed il corpo della pagina e successivamente stampati a video.

Ovviamente, per poter utilizzare Jsoup, è necessario aggiungere la dipendenza Maven all'interno del nostro pom.xml:

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.10.2</version>
</dependency>

Va notato che questo è solo un esempio molto semplice e che il web scraping può diventare molto più complesso e richiedere l'uso di altre librerie e tecnologie per effettuare l'estrazione dei dati in modo più avanzato e robusto. Inoltre, è sempre importante tenere presente le normative locali e verificare se il web scraping è legale per il sito web specifico che si vuole estrarre.

Comments

Popular posts from this blog

AGGIORNAMENTO INVESTIMENTI 2° TRIMESTRE 2024

AGGIORNAMENTO INVESTIMENTI 1° TRIMESTRE 2024

HO COMPRATO UNO XIOAMI 14 ULTRA