Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    fatemi laureare!!!

    ciao a tutti,sono un classe 79 ke deve ormai laurearsi...ma dall'alto della sua ignoranza e pesando il fatto ke ha ripreso gli studi dopo 5anni....vi kiedo un favore....un aiuto...mi mancano 2 esami....uno è un progetto di java...questo è il testo:
    GNU wget è una utility da riga di comando molto diffusa in ambiente Linux/Mac, ma disponibile anche per ambiente Windows. Serve per scaricare un file, una pagina o una intera gerarchia di pagine dal web. Scopo di questo progetto è quello di scrivere una rudimentale versione di wget in Java.

    Il programma deve essere in grado di:

    * (default) Scaricare un file (pagina o altro) di cui sia dato l'URL
    * (-r) Scaricare una pagina HTML in modo ricorsivo fino ad un certo livello ricostruendo localmente l'albero. Il programma dovrà verificare all'interno della pagina quali siano i link che puntano a risorse locali (devono essere sullo stesso server) e dovrà procedere a scaricarle salvandole in locale e modificando opportunamente gli URL nel caso siano assoluti. Il numero di livelli dovrà essere impostato di default a 2, ma l'utente deve poter indicare il numero di livelli desiderati (-r0, nessun livello, solo le immagini; -r1, un livello; etc.).
    * (-s) Scaricare i files solo se non sono già presenti sul disco locale o non sono stati modificati dopo che quelli locali erano stati scritti su disco.

    L'input utente potete scegliere di leggerlo da console, utilizzando metodi della classe javax.swing.JOptionPane o meglio ancora, da console sfruttando gli argomenti del metodo main() (che vedremo nella prossima esercitazione di laboratorio).

    Il progetto può sembrare complesso, ma è solamente inusuale dice il prof....io lavorando non ho potuto frequentare dunque...io ho scritto questo per ora :

    import java.io.*;
    import java.net.*;
    import java.io.BufferedReader;
    import java.io.IOException;


    /**
    * Il seguente programma scarica la pagina
    * www.unimi.it
    *
    *
    */
    public class GetRudimentale {
    public static void main(String[] args) throws IOException, InterruptedException {
    String nomeServer = "www.unimi.it";
    Socket webSocket = null;
    PrintWriter webOut = null;
    BufferedReader webIn = null;

    try {
    // Crea un oggetto Socket che sia connesso al server prescelto sulla
    // porta 80
    webSocket = new Socket(nomeServer, 80);
    webOut = new PrintWriter(webSocket.getOutputStream(), true);
    webIn = new BufferedReader(new InputStreamReader(webSocket.getInputStream()));
    }
    catch (UnknownHostException e) {
    System.err.println(nomeServer + ": server sconosciuto.");
    System.exit(1);
    }
    catch (IOException e) {
    System.err.println(nomeServer + ": la connessione ha generato il seguente errore:");
    System.err.println(e);
    System.exit(1);
    }

    String webInput;
    System.out.println("(Connection to " + nomeServer + " open.)");
    boolean paginaTrovata = false;

    // Richiesta HTTP al server
    webOut.println("GET /~gianni/index.htm HTTP/1.1");
    webOut.println("Host: www.unimi.it");
    webOut.println("");

    // Attende che il server risponda
    while( webIn.ready() == false );

    // Gestione minimale della risposta del Server

    while( webIn.ready() ) {
    webInput = webIn.readLine();
    if( webInput.equals("") )
    {
    // L'header è finito
    break;
    }
    else if( webInput.equals("HTTP/1.1 200 OK") )
    {
    // La pagina è stata ricevuta correttamente cazzo
    paginaTrovata = true;
    }
    System.out.println(webInput);
    }

    if(paginaTrovata) {
    // Salve il corpo della risposta HTTP in un file
    File filePaginaScaricata = new File("paginaScaricata.htm");
    FileWriter writerPaginaScaricata = new FileWriter(filePaginaScaricata);
    PrintWriter streamPaginaScaricata = new PrintWriter(writerPaginaScaricata);
    while( webIn.ready() ) {
    webInput = webIn.readLine();
    streamPaginaScaricata.println(webInput);
    }
    streamPaginaScaricata.close();
    }

    webOut.close();
    webIn.close();
    webSocket.close();
    System.out.println("(Connection to " + nomeServer + " close.)");
    System.exit(0);
    }
    }

    il problema è ke io non so come cactus dovrei fare a cercare il tag a x i link e per poi salvare tutti i "livelli" della pagina...il mio indirizzo email è <cut>...sul forum ci sarò poco dato ke lavoro...cmq ringrazio e saluto tutti x l'attenzione

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Il titolo della discussione non è conforme al regolamento del forum.
    Esso deve sintetizzare il problema posto nella discussione.

    Questo lo modifico io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Re: Moderazione

    Originariamente inviato da LeleFT
    Questo lo modifico io.
    Io l'avrei definitivamente chiuso, visto che il titolo è ben lontano dall'essere accettabile.

    Aggiungo anche che le risposte ad una domanda posta pubblicamente vanno ovviamente rese pubbliche (altrimenti il forum non serve a nulla).

    Poco conta il non aver il tempo di consultare tempo: se si possono leggere le email, si possono leggere anche le risposte a questa discussione (visto che anch'esse vengono segnalate via email).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Uppo questo post poiché, anche se nato sotto un cattivo auspicio , mi sembra comunque molto interessante!

    Ho un po' di tempo e volevo dedicarmi al mio primo crawler in Java e sono aperto a suggerimenti! Appena elaboro un po' di codice lo posto! Buon lavoro a tutti!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.