mirror of
https://github.com/catdevnull/transicion-desordenada-diablo
synced 2024-11-14 18:21:38 +00:00
62 lines
1.8 KiB
Markdown
62 lines
1.8 KiB
Markdown
# 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](https://www.w3.org/TR/vocab-dcat-2/)). 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](https://nodejs.org) y [pnpm](https://pnpm.io/)
|
||
|
||
```
|
||
pnpm install
|
||
```
|
||
|
||
## correr
|
||
|
||
```
|
||
# descargar portal datos.gob.ar
|
||
pnpm run run datajson+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`)
|
||
- ...
|