Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Java e Javascript

  1. #1

    Java e Javascript

    Salve a tutti!
    Sto cercando di fare un programma in java per il recupero e l'ordinamento automatico di dati presenti su pagine web. Mi spiego meglio: su un sito internet sono presenti informazioni che desidero salvare in un file in maniera automatica. Ho già creato una classe che rappresenti tutti i campi che mi interessano e la classe per salvarli su file. Però qui viene il problema: quello che mi interessa è il risultato di funzioni javascript.
    Con il seguente codice:
    codice:
    public String getHTML(String page)    {
            String html = "";
            try 
            {
                URL url = new URL(page);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                BufferedReader read = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String line = read.readLine();
                
                while(line!=null) {
                    html += line;
                    line = read.readLine();
                }
            } catch(MalformedURLException ex) {
                ex.printStackTrace();
            } catch(IOException ioex) {
                ioex.printStackTrace();
            }
            return html;
    ottengo come ritorno quello che si vede facendo "visualizza sorgente pagina" su un qualsiasi browser. Però a me servirebbe il modo di ottenere, giusto per capirci, quello che si vede con "ispeziona elemento" di chrome, ovvero non le funzioni javascript ma i loro risultati. Qualche idea?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da r_daneel_olivaw Visualizza il messaggio
    quello che mi interessa è il risultato di funzioni javascript.
    Il punto è che "risultato di funzioni javascript", vorrebbe dire che a fronte di un documento che ricevi da un url, che può contenere un mix di HTML/CSS/JavaScript, dovresti "eseguirlo" come se fosse mandato in pasto ad un "vero" browser. E questo è altamente difficile, in Java non c'è nulla di standard o predefinito per fare questo. A meno che trovi qualche libreria Java che faccia il rendering di pagine web ... ma il cui supporto ai vari standard sarebbe tutto da verificare e valutare.

    Quindi senza avere dettagli più precisi, ti conviene verificare se quelle informazioni sono rintracciabili o determinabili in altro modo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Se le funzioni javascript sono semplici e sempre quasi uguali se ne può estrarre il contenuto (Se sono mooolto semplici, basta un'espressione regolare)
    No

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da tampertools Visualizza il messaggio
    Se le funzioni javascript sono semplici e sempre quasi uguali se ne può estrarre il contenuto (Se sono mooolto semplici, basta un'espressione regolare)
    Ma il problema non è estrarre un pezzo di codice JavaScript da una pagina web .... ma "eseguirlo"!! Ottenere il risultato del comportamento a runtime di un codice JavaScript. E questo è il punto altamente complesso e critico.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Ma il problema non è estrarre un pezzo di codice JavaScript da una pagina web .... ma "eseguirlo"!! Ottenere il risultato del comportamento a runtime di un codice JavaScript. E questo è il punto altamente complesso e critico.
    forse dico una sciocchezza.
    ma se lo estrae e poi lo esegue con Nashorn??

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ma se lo estrae e poi lo esegue con Nashorn??
    Se fosse codice JavaScript "puro", cioè che non si aspetta di essere in un certo ambiente di esecuzione .... ok, è fattibile. Ma se avesse bisogno del DOM della pagina? Auguri .....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Hem... Molto incoraggianti le risposte

    A me serve proprio il testo di "ispeziona elemento" sezione "elements" di chrome, ovvero come se nella pagina non ci fossero script ma solo html! Diciamo che è abbastanza complicata, ma pensavo che ci fossero librerie che permettessero in maniera più o meno semplice di farlo, in fondo chrome lo fa
    Visto che a quanto pare la strada che avevo in mente non è percorribile, è possibile scaricare il "testo" direttamente da chrome?

  8. #8
    Ciao daneel, tempo fa avevo dato un occhio a queste due libs HtmlUnit e Selenium entrambe hanno un minimo di supporto al javascript, quindi se gli scripts non sono particolarmente complessi puoi utilizzare queste per effettuare il parsing della pagina

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.