Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/catdevnull/preciazo
analisis de precios en supermercados minoristas. en constante evolución https://preciazo.nulo.in
https://github.com/catdevnull/preciazo
data data-science price-tracker scraper supermarket
Last synced: about 2 months ago
JSON representation
analisis de precios en supermercados minoristas. en constante evolución https://preciazo.nulo.in
- Host: GitHub
- URL: https://github.com/catdevnull/preciazo
- Owner: catdevnull
- Created: 2023-12-21T17:01:27.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-24T02:03:34.000Z (2 months ago)
- Last Synced: 2024-10-24T18:23:28.492Z (about 2 months ago)
- Topics: data, data-science, price-tracker, scraper, supermarket
- Language: Rust
- Homepage:
- Size: 2.12 MB
- Stars: 19
- Watchers: 2
- Forks: 1
- Open Issues: 16
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# preciazo
scrapeo "masivo" de precios y datos en supermercados argentinos
## [¡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:[email protected]) o por GitHub :)
## proyectos similares
- [ratoneando](https://ratoneando.ar/)
- [Mirá](https://twitter.com/MiraPrecios) (solo app nativa, creo que usan un navegador embebido para generar el carrito en los sitios de los supermercados!)
- [SEPAME](https://sepame.net/): muestra todos los precios de todas las sucursales según el [dataset SEPA](https://datos.produccion.gob.ar/dataset/sepa-precios)
- [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)
- [Yoper](https://www.yoper.com.ar/) ([@YoperLATAM](https://x.com/YoperLATAM))## componentes
### scraper-rs
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)).
(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.
## setup
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:
```
cd db-datos/
pnpm install
pnpm migrate
```después, escrapea un sample de productos de Carrefour a una BD:
```
cd ../scraper-rs/
cargo run -- fetch-list ../data/samples/Carrefour.50.txt
```ahora miralo en el sitio:
```
cd ../sitio/
pnpm install
pnpm dev
```