Re: Scaricare l'html di siti Single Page Application
Francesco Potortì <[email protected]> Sun, 30 Nov 2025 10:53:41 +0100
| Newsgroups | gmane.linux.debian.user.italian |
|---|---|
| Organization | ISTI-CNR, via Moruzzi 1, www.isti.cnr.it |
| Message-ID | <[email protected]> |
Davide Prina: >>> È possibile scaricare una specifica "pagina" di un sito generato per >>> funzionare come SPA (Single Page Application), ad esempio quelli generati >>> tramite angular? O che magari hanno parte della pagina generata da >>> javascript? Francesco Potortì: >> Urlwatch, che internamente usa Playwright >interessante, questa potrebbe essere la soluzione al mio problema. > >ho visto che è possibile inviare il risultato a: >shell: Pipe a message to a shell command >stdout: Print summary on stdout (the console) Con Urlwatch si può fare di tutto, in maniera semplice usando il suo linguaggio di configurazione, o in maniera più complessa mettendo script dentro la configurazione. A livelli di complessità maggior di quel che serve a me, si può usare direttamente Playwright. >Faccio qualche prova per verificare se l'output poi è gestibile per >estrarre le informazioni che mi servono, individuando, per ogni modifica >su quella pagina, il contesto del cambiamento (quello che puoi >individuare, abbastanza semplicemente, nell'html usando i "nomi" dei tag) In generale si può fare, è fatto apposta. Urlwatch è un programmillo pensato per monitorare pagine web, file, e più o meno qualunque risultato testuale che può cambiare nel tempo, inclusi risultati di script, e farne un rapporto. Per le pagine web più ostiche gli si può dire di usare un browser, e per farlo lui chiama Playwright. Io come dicevo l'ho usato per monitorare la pagina https://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=10108967 che apparentemente è beneducata, ma se provi a scaricarla con wget è praticametne vuota, e non sono riuscito a chiamare le funzioni javascript che servono a popolarla. Playwright non ci prova neanche: usa un browser per scaricare la pagina e da lì si prende il risultato in html.