2023-12-27 22:55:08 +00:00
# preciazo
scrapeo "masivo" de precios y datos en supermercados argentinos
2024-02-09 16:06:15 +00:00
## [¡entrá a la demo!](https://preciazo.experimentos.nulo.ar/)
¿te interesa colaborar con el proyecto? hablame [por Twitter ](https://twitter.com/esoesnulo ), por [email ](mailto:preciazo@nulo.ar ) o por GitHub :)
2024-01-23 01:10:12 +00:00
## proyectos similares
- [ratoneando ](https://ratoneando.ar/ )
2024-04-08 17:00:35 +00:00
- [Coto_bot ](https://twitter.com/BotCoto ) (repo: [Vosinepi/webScrapping_ETL_canasta_basica ](https://github.com/Vosinepi/webScrapping_ETL_canasta_basica ))
- [@canastita_bot ](https://twitter.com/canastita_bot ) y [@asadito_bot ](https://twitter.com/asadito_bot ) de [Charly Maslaton ](https://twitter.com/charlymasla )
2024-01-23 01:10:12 +00:00
2024-01-14 01:07:23 +00:00
## componentes
2023-12-27 22:55:08 +00:00
2024-01-14 01:07:23 +00:00
### scraper-rs
2023-12-27 22:55:08 +00:00
2024-01-14 01:07:23 +00:00
el [scraper ](./scraper-rs/ ) busca links de productos a scrapear, descarga todos los links, extrae varios datos y los guarda en una base de datos SQLite (definida en [db-datos ](./db-datos/schema.ts )).
2023-12-27 22:55:08 +00:00
2024-01-14 01:07:23 +00:00
(antes había un scraper escrito en JavaScript, pero por problemas de _reliability_ lo reescribí en Rust (?))
### sitio
el [sitio ](./sitio/ ) renderiza páginas a partir de la base de datos y hace gráficos lindos.
2023-12-27 22:55:08 +00:00
## setup
2024-01-14 01:07:23 +00:00
para el schema de la base de datos y el sitio, es necesario [Node.js ](https://nodejs.org/ ) y [pnpm ](https://pnpm.io/ ). para el scraper, es necesario [Rust ](https://www.rust-lang.org/ ) estable.
crea la base de datos:
2024-01-23 01:10:12 +00:00
2024-01-14 01:07:23 +00:00
```
cd db-datos/
pnpm install
pnpm migrate
```
2023-12-27 22:55:08 +00:00
2024-01-02 03:21:21 +00:00
después, escrapea un sample de productos de Carrefour a una BD:
2023-12-27 22:55:08 +00:00
```
2024-01-14 01:07:23 +00:00
cd ../scraper-rs/
cargo run -- fetch-list ../data/samples/Carrefour.50.txt
2023-12-27 22:55:08 +00:00
```
ahora miralo en el sitio:
```
2024-01-14 01:07:23 +00:00
cd ../sitio/
pnpm install
pnpm dev
2023-12-27 22:55:08 +00:00
```