Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    90

    [JAVA HELP] Ottenere sorgente pagina HTML

    IO dovrei prendere il sorgente di una pagina HTML per poi parsarlo e fare quel che devo fare. Però il problema è che nell'ottenere il sorgente ho delle difficoltà.
    Io uso questo codice :

    try{
    URL url= new URL("http://www.google.it");
    URLConnection urlConn = url.openConnection();
    BufferedReader dis= new BufferedReader(new InputStreamReader((url.openStream())));
    String s="";
    while (( s=dis.readLine())!= null) {
    System.out.println(s);
    }
    dis.close();
    }catch (MalformedURLException mue) {}
    catch (IOException ioe) {}

    Si interfaccia al sorgente, però mi salta una riga.
    Ho messo google perchè ha solo 4 righe di sorgente e l'ho usato per provare.Però lui di righe ne scrive tre, saltando la terza Riga. Ho provato con la pagina che mi serve e salta addirittura un centinaio di righe.
    QUindi sbaglio qualcosa ? Conoscete un'altro metodo per predere il sorgente ??

    GRAZIE ANTICIPATAMENTE

  2. #2
    prova con:

    BufferedReader dis = new BufferedReader(new InputStreamReader(urlConn.getInputStream() ));
    Al mio segnale... scatenate l'inferno!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    90
    Gia lo avevo provato, ma fa sempre la stessa cosa..

    Poi ho provato invanamente anche questo

    try {
    URL url = new URL("http://www.yahoo.it");
    Scanner input=new Scanner(new InputStreamReader(url.openStream()));
    while(input.hasNext()){
    System.out.println(input.nextLine());
    }
    } catch (Exception ex) {
    ex.printStackTrace();
    }

    Sempre stesso risultato

    Grazie cmq per l'aiuto

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA HELP] Ottenere sorgente pagina HTML

    Originariamente inviato da Ale88
    Ho messo google perchè ha solo 4 righe di sorgente
    No, la pagina di google ha 3 righe e basta, contiene solo 2 caratteri 0x0A per terminare le prime 2 righe mentre la terza riga non ha nulla come terminatore (ma è comunque una riga).

    Originariamente inviato da Ale88
    Conoscete un'altro metodo per predere il sorgente ??
    Il tuo codice è corretto e funziona. Non hai sfruttato l'oggetto URLConnection ma non è un problema.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    90
    Sorgente Google :



    Sorgente che mi stampa



    Quindi la riga "window.click()=...." che fine ha fatto ??
    Mi potresti spiegare meglio il tuo concetto per favore ?

    Ho provato con la pagina di yahoo che ha poco piu di 4000 righe di codice sorgente, ma il programma ne stampa a malapena 890..

    HO provato anche così :

    try{
    URL url= new URL("http://www.google.it");
    URLConnection urlConn = url.openConnection();
    BufferedReader dis= new BufferedReader(new InputStreamReader((urlConn.getInputStream())));


    String s="";
    while (( s=dis.readLine())!= null) {
    System.out.println(s);

    }
    dis.close();
    }catch (MalformedURLException mue) {}
    catch (IOException ioe) {}

    Ma è uguale

    GRAZIE

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Una cosa importante è questa: per google la pagina che tu ricevi dipende dallo "user agent" che è stato inviato con la request.

    Prima ho fatto una prova scaricando la pagina con il tool 'wget' e vengono fuori 3 righe. Idem se scarichi con del codice Java come hai fatto. Con firefox invece in effetti sono 4 righe.
    Google riconosce lo user-agent di firefox mentre per 'wget' o altro "downloader" può inviare un'altra pagina.

    Quindi non stiamo a fare questioni sul numero di righe!! Il tuo codice è corretto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    90
    Cmq anche IE riceve lo stesso sorgente..

    Ma se dici che è corretto..Meglio così, spero solo che mi prenda il codice che mi interessa sul sito che devo parsare ..

    Ciao e grazie..

    Buona Giornata

    Ale

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.