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.