transicion-desordenada-diablo/downloader
2023-12-08 18:43:25 -03:00
..
pki mover a downloader/ 2023-12-07 23:53:12 -03:00
Containerfile downloader: acelerar build containerfile 2023-12-08 16:25:28 -03:00
download_json.js fix(downloader): crear carpeta antes de intentar escribir 2023-12-08 16:25:16 -03:00
generate_dump_metadata.js compartir código, estandarizar terminos, generar dump-metadata 2023-12-08 16:06:28 -03:00
package.json compartir código, estandarizar terminos, generar dump-metadata 2023-12-08 16:06:28 -03:00
pnpm-lock.yaml mover a downloader/ 2023-12-07 23:53:12 -03:00
readme.md downloader: describir flow completo para crear dump 2023-12-08 18:43:25 -03:00
tsconfig.json compartir código, estandarizar terminos, generar dump-metadata 2023-12-08 16:06:28 -03:00

descargador masivo de portales de datos públicos

descarga masivamente archivos de la mayoría de los portales de datos argentinos que tengan un archivo "data.json" (DCAT). la idea es tener un espejo (mirror) lo más perfecto posible en el caso de que cualquiera de las fuentes se caiga.

setup

require Node.js y pnpm

pnpm install

correr

# descargar portal datos.gob.ar
pnpm run run https://datos.gob.ar/data.json
# guarda en data/datos.gob.ar_data.json

# descargar todos los portales conocidos
pnpm run run
# guarda en data/*

contenedor

docker run --rm -it -v ./data:/data gitea.nulo.in/nulo/transicion-desordenada-diablo/downloader
# descarga datos.gob.ar

terminar dump

# generar dump-metadata.json (útil para el frontend) y readme.txt
node generate_dump_metadata.js data/
# comprimir todo excepto readme.txt
pigz -1r data/*/

formato de repo guardado

  • {url de data.json sin protocolo y con / reemplazado por _}/
    • data.json
    • errors.jsonl: archivo con todos los errores que se obtuvieron al intentar descargar todo.
    • {identifier de dataset}/
      • {identifier de distribution}/
        • {fileName (o, si no existe, identifier de distribution)}

ejemplo

  • datos.gob.ar_data.json/
    • data.json
    • errors.jsonl
    • turismo_fbc269ea-5f71-45b6-b70c-8eb38a03b8db/   - turismo_0774a0bb-71c2-44d7-9ea6-780e6bd06d50/   - cruceristas-por-puerto-residencia-desagregado-por-pais-mes.csv
      • ...
    • energia_0d4a18ee-9371-439a-8a94-4f53a9822664/    - energia_9f602b6e-2bef-4ac4-895d-f6ecd6bb1866/    - energia_9f602b6e-2bef-4ac4-895d-f6ecd6bb1866 (este archivo no tiene fileName en el data.json, entonces se reutiliza el identifier)
    • ...