Scraping archivio storico dataset ISTAT



Caso d”uso: Scaricare archivi ISTAT in formato *.zip

In Bash

CONFINI STATISTICO-AMMINISTRATIVI: ANALISI STORICA

Scarica intero archivio 231601

# scarica la pagina
curl "https://www.istat.it/it/archivio/231601" | \
# estrai tramite CSS selector i tag <a> che stanno dentro un oggetto con classe "bordo_unico"
scrape -be '.bordo_unico a' | \
# trasforma l'output in JSON, estrai l'href dei tag a, anteponi la stringa per trasformarlo nell'URL di download
xq  -r '"https://www.istat.it/"+.html.body.a[]."@href"' | \
# passa l'output a xargs e usalo per lanciare un download per ogni riga di output
xargs -I _ wget _

CONFINI DELLE UNITÀ AMMINISTRATIVE A FINI STATISTICI: RECENTI

Scarica intero archivio 222527 versione generalizzata (meno vertici)

# scarica la pagina
curl "https://www.istat.it/it/archivio/222527" | \
# estrai tramite CSS selector i tag <a> che stanno dentro un oggetto con classe "bordo_unico"
scrape -be '.bordo_unico a' | \
# trasforma l'output in JSON, estrai l'href dei tag a, anteponi la stringa per trasformarlo nell'URL di download
xq  -r '.html.body.a[]."@href"' | \
# per filtrare il dataset generalizzato:
grep '/generalizzato'
# passa l'output a xargs e usalo per lanciare un download per ogni riga di output
xargs -I _ wget _

Ispirato da questo tweet by @napo