So che questo tipo di domanda deve essere stato chiesto qui prima, ma con la ricerca non ho trovato una soluzione:Rende JavaScript e HTML in (qualsiasi) programma Java (accesso alla struttura del DOM)?
La mia domanda è: Quali sono le migliori librerie Java a "scaricare completamente qualsiasi wepage e rendere il costruito in JavaScript (s) e quindi accedere alla pagina Web renderizzata (che è il DOM-Tree!) in modo programmatico e ottenere l'albero DOM come "HTML-Source".
(Qualcosa di simile a ciò che fa firebug alla fine, rende la pagina e Ho accesso alla struttura ad albero DOM completamente renderizzata, come se la pagina fosse simile al browser! Al contrario, se faccio clic su "mostra sorgente", ottengo solo il codice sorgente JavaScript, che non è quello che voglio. pagina resa ...)
(con il rendering intendo solo rendere l'albero DOM non una resa visiva ...)
Questo non deve essere una singola libreria, è ok per avere diverse librerie che possono realizzare questo insieme (uno molto probabilmente la libreria JavaScript dovrà anche avere un qualche tipo di downloader per rendere completamente qualsiasi JS asincrono ...
Sfondo: Nel " bei vecchi tempi "HttpClient (Apache Library) era tutto il necessario per costruire il proprio crawler molto semplice. (Un sacco di cralwers come Nutch o Heretrix sono ancora costruiti attorno a questo nucleo principale, principalmente incentrato sull'analisi HTML standard, quindi non posso imparare da loro) Il mio problema è che ho bisogno di sottoporre a scansione alcuni siti Web che si basano fortemente su JavaScript e che non riesco ad analizzare con HttpClient poiché ho assolutamente bisogno di eseguire i JavaScripts prima ...
Grazie mille !! Tim
Quando si pronuncia "rendering qualsiasi js asincrono" si intende che la libreria deve avere la capacità di "raschiare" qualsiasi chiamata asincrona effettuata dalla pagina?Ciò sarebbe davvero difficile perché in pratica si cercherebbe di acquisire il contenuto di una pagina dinamica che si aggiorna dopo che la richiesta iniziale è stata completata e talvolta i dati non vengono estratti in modo asincrono finché l'utente non attiva un evento. – bsimic