Salvare automaticamente pagine web

di il
40 risposte

40 Risposte - Pagina 2

  • Re: Salvare automaticamente pagine web

    Il fatto è che ti sei presentato/a chiedendo copie illegali di libri, ora chiedi questa cosa strana per un progetto"segreto", non invoglia certo ad aiutarti....
  • Re: Salvare automaticamente pagine web

    Non mi sono mica presentata così... Oltretutto da quello che vedo sei una new entri, ho più messaggi io di te.
    Se non vuoi aiutarmi pace, risponderà qualcun altro se sono fortunata.
  • Re: Salvare automaticamente pagine web

    Ma hai importato il Jar nel tuo progetto?
    se non l'hai importato ovviamente non ti vedrà mai nulla...io ho usato molto il JSoup per scandargliarmi pagine di cui mi serviva il contenuto e non ho mai avuto i problemi da te sopracitati.
    Inoltre quale IDE stai usando?
    Riesci a postare tutta la classe dove usi il JSoup (compresi gli import)?
    non abbiamo la sfera di cristallo per cui se non condividi almeno parte del tuo lavoro (o almeno la classe come detto in precedenza) non possiamo fare molto per te.

    Ciao.
  • Re: Salvare automaticamente pagine web

    Mi aiutate per piacere? Non sto mica facendo niente di illegale.
  • Re: Salvare automaticamente pagine web

    Scusa ma ti ho scritto appena prima...non hai visto il post?
  • Re: Salvare automaticamente pagine web

    fifififi ha scritto:


    mi aiutate per piacere? Non sto mica facendo niente di illegale.
    Allora, di aiuti mi pare che te ne siano stati dati, pure link a discussioni credo utili.

    Io comunque ho installato NetBeans 8.1 (avevo già un JDK comunque), poi:

    1) File -> New Project... -> "Java Application" (messo nome progetto, poi Finish).

    2) Properties del progetto, sezione Libraries, nella scheda Compile ho usato il pulsante "Add JAR/Folder" ed ho pescato il jsoup-1.8.3.jar che avevo sul file-system.

    3) Nel <default package>, New -> Java Class... con nome ArgomentiForum. Ed ho inserito questo codice (l'avevo già creato con Eclipse):
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    public class ArgomentiForum {
        public static void main(String[] args) {
            try {
                Document doc = Jsoup.connect("http://www.iprogrammatori.it/forum-programmazione/java/").get();
    
                Elements blocchiArgomenti = doc.select("ul.topics dl");
    
                for (Element bloccoArgomento : blocchiArgomenti) {
                    Element anchorTitolo = bloccoArgomento.select("a.topictitle").first();
                    Element anchorUsername = bloccoArgomento.select("dt a.username").first();
    
                    System.out.println("Argomento: \"" + anchorTitolo.text() + "\" di " + anchorUsername.text());
                }
            } catch (Exception e) {
                System.err.println(e);
            }
        }
    }
    4) Run Project

    E funziona subito, senza alcun problema o intoppo mostrandomi l'elenco degli argomenti sulla pagina del forum richiesta. Tutto qui.
  • Re: Salvare automaticamente pagine web

    schumy2000 ha scritto:


    scusa ma ti ho scritto appena prima...non hai visto il post?
    oddio scusami hai ragione, non ho visto che cera pagina due, lol.
  • Re: Salvare automaticamente pagine web

    Adesso ho un altro problema
    Document doc = Jsoup.connect("url").get();
    ho provato a stamparlo con System.out.print(doc); e funziona.
    Quindi adesso vorrei analizzare il codice, solitamente con le stringhe faccio
    for(int i=0;i<stringa.length();i++){
    il problema è che doc.length non funziona (non ho mai usato i Document) quindi come faccio?
    Comunque non c'è bisogno di essere scortesi.
  • Re: Salvare automaticamente pagine web

    Non siamo scortesi, ma cerchiamo di dirti da qualche giorno che non si può scrivere un software senza conoscere cosa ci sta alla base...
    Cos'è un oggetto "Document", cosa fa questa funzione (Jsoup.connect) e tutto il corollario.
    Devi cercare di imparare e avere delle basi solide per poter fare qualcosa che è comunque abbastanza complicato per un neofita.
    In questo modo al passo successivo avresti un altro problema e poi un altro ancora, non possiamo seguire passo passo tutto il processo senza condividere il print-screen di uno stralcio di codice o simili.
  • Re: Salvare automaticamente pagine web

    ... sono due anni che uso java ...
    Sapete rispondere all'ultima domanda che ho fatto?
    Sinceramente non saprei come imparare java altrimenti.
  • Re: Salvare automaticamente pagine web

    fifififi ha scritto:


    ... sono due anni che uso java ...
    Sapete rispondere all'ultima domanda che ho fatto?
    Sinceramente non saprei come imparare java altrimenti.
    Scusa fifififi ma hai visto il mio esempio che ho fatto prima? L'hai provato? Hai visto cosa esce fuori? Hai capito perché l'output è quello?
    Ho anche fornito le indicazioni precise (e credo chiare) su come creare il tutto dall'inizio. Più di così .... davvero non saprei proprio cosa fare!

    Poi scusa se lo dico, e non è affatto per essere scortese o altro (ci mancherebbe!), ma ... dire "sono due anni che uso java" e "non saprei come imparare java" sono due frasi parecchio in controsenso.
  • Re: Salvare automaticamente pagine web

    Ho copiato e incollato il codice e funziona, grazie. Il problema è che non ho capito gran ché.
    Che cos'è "ul.topics dl" ? Andando nel codice della pagina https://www.iprogrammatori.it/forum-programmazione/java/ non me lo trova.
  • Re: Salvare automaticamente pagine web

    fifififi ha scritto:


    Che cos'è "ul.topics dl" ? Andando nel codice della pagina https://www.iprogrammatori.it/forum-programmazione/java/ non me lo trova.
    Perché ul.topics dl è la sintassi in stile CSS per descrivere il concetto "tutti i tag <dl> che sono contenuti dentro i tag <ul> che hanno classe topics".
    Ma nel html NON sarà chiaramente scritto così, ci potrebbe essere un:

    <ul class="topiclist topics"> blablablablablablabla
    blablablablablablabla
    <dl .....> blablablabla </dl>
    blablabla
    </ul>

    E tutto questo vuol dire 2 cose:

    a) per poter capire il mio codice e per poterne tu scrivere di simili per JSoup, DEVI conoscere un po' bene HTML e CSS. Chiaramente non è necessario che tu sia il super-ultra-guru di questi linguaggi! Mi pare di capire però che non hai le basi di questi.

    b) devi analizzare la pagina prima di poter scrivere quel codice.

    E questo si può fare in diversi modi. Potresti scaricare il sorgente html in un file su disco e poi aprirlo con es Notepad, Notepad++, PsPad ecc.., l'editor che hai. Ma potrebbe non essere facile leggerlo, il codice html potrebbe essere formattato male, potrebbe essere su righe lunghissime ecc...

    In genere è meglio usare i "developer tools" dei browser. Se usi Firefox, puoi installare l'estensione Firebug (Firefox ha già dei suoi tools basilari, ma consiglio comunque Firebug). Se usi Chrome, ha già i suoi developer tools integrati. Se usi Internet Explorer, perlomeno nelle ultime versioni ha già i suoi developer tools.

    Perché così puoi vedere bene l' "albero" dei tag, vedere tutti gli stili CSS associati, puoi "puntare" e rintracciare gli elementi con il mouse e fare tanto altro.
  • Re: Salvare automaticamente pagine web

    andbin ha scritto:


    Mi pare di capire però che non hai le basi di questi.
    di HTML credo di conoscere un po' la base, CSS l'avevamo fatto ma nella verifica ho preso solo 6.
    Ho installato firebug, ma non mi sembra comodo, mi avevano fatto installare notpad++ adesso lo reinstallo.
    Ma per curiosità, come fai a sapere tutte queste cose?
    Poi non capisco il for
    for (Element bloccoArgomento : blocchiArgomenti) {
    }


    ho scaricato sia firebug che notepad ma sinceramente mi sembra comodo anche visualizza sorgente pagina, ho impressione non cambi tanto...
  • Re: Salvare automaticamente pagine web

    fifififi ha scritto:


    Ma per curiosità, come fai a sapere tutte queste cose?
    Forse perché tutti ci documentiamo, leggiamo libri e documentazione anche in inglese visto che sono più specifici, non andiamo subito su una tastiera a scrivere codice, quindi ampliamo in nostro know-how.

    fifififi ha scritto:


    Poi non capisco il for
    for (Element bloccoArgomento : blocchiArgomenti) {
    }
    E' un altro modo di scrivere il for.
    Lo scrivo in altro modo per fartelo capire più facilmente
    se hai un array di interi chiamato vect farai:
    for(int index : vect)
    L' intero index sarà il nostro i-esimo elemento corrispondente al for visto sopra.
    Strano però che in due anni di java non hai mai visto questo costrutto.
Devi accedere o registrarti per scrivere nel forum
40 risposte