jacopHack ha scritto:
Esattamente come dici tu ci sono chiamate di funzioni scritte in javascript/ajax che modificano il DOM della pagina. Tanto è vero che se faccio visualizza sorgente pagina, non viene mostrato tutta la reale sorgente. JSoup però mi aveva comunque dato una mano ad ottenere link titoli e snippet che manualmente tramite browser non avrei potuto avere. Pensavo appunto potesse essere di aiuto anche in quest'altro caso, ma mi ritrovo completamente disorientato in mezzo a tutto questo nuovo mondo mai esplorato.
JSoup purtroppo ti aiuta solo in
certi casi. JSoup NON esegue Javascript e non ha minimamente le stesse potenzialità degli avanzati browser "moderni" che supportano tutti i più recenti standard HTML/CSS/Javascript!
JSoup è solo un parser HTML che ti permette di estrarre informazioni dal modello ad oggetti della pagina.
Quindi ribadisco che se ci sono di mezzo Javascript, chiamate asincrone, ecc... le cose si complicano. E spetta a te analizzare MEGLIO le interazioni nella pagina perché dovrai "bypassare" molte cose andando tu a fare quelle richieste, sapendo a priori come sono, e non necessariamente solo con JSoup.
Se provi da browser reale una pagina di tuo interesse di quel sito e la pagina fa richieste asincrone magari mentre scorri o muovi il mouse, allora devi analizzare tu queste richieste. Tanto per dirne alcune: hai tracciato queste richieste con i developer tools del browser? Hai verificato il formato degli url? Ci sono ripetizioni che noti tra le richieste? Vengono passati "id" di qualche tipo? Vengono rimandati al server dei "cookie" che probabilmente servono tipicamente per "tenere su" una sessione?
La response di queste richieste asincrone cosa contiene? Contiene pezzi puri di HTML? O "dati" strutturati (XML o JSON tipicamente)? Se sono dati come e dove si "riflettono" poi nella pagina?
Se arrivi a comprendere questo, riesci ad eseguire tu queste richieste "a mano" usando tools come ad esempio Postman (estensione di Chrome) o altro? Perché se non riesci a farle a mano .... non le fai neanche programmaticamente da codice!
Insomma si tratta di analizzare il comportamento di un sito che non è fatto da te e non è sotto il tuo controllo. E questo, ripeto, spetta a TE. Se tutto questo ti sembra strano o complesso o poco utile .... sì E' COMPLESSO e richiede un po' di tempo ed impegno.
Forse quello che pensavi di fare non si può fare ... o più probabilmente si può fare ma va oltre alle tue attuali conoscenze. In tal caso basta solo ....
studiare.