mirror of
https://github.com/catdevnull/preciazo.git
synced 2024-11-23 06:36:19 +00:00
WIP scrapeo de precios en supermercados
.devcontainer | ||
.github/workflows | ||
.vscode | ||
data | ||
db-datos | ||
rust | ||
sepa | ||
sitio | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
Dockerfile | ||
pnpm-lock.yaml | ||
pnpm-workspace.yaml | ||
readme.md | ||
tsconfig.json |
preciazo
scrapeo "masivo" de precios y datos en supermercados argentinos
¡entrá a la demo!
¿te interesa colaborar con el proyecto? hablame por Twitter, por email o por GitHub :)
proyectos similares
- ratoneando
- Mirá (solo app nativa, creo que usan un navegador embebido para generar el carrito en los sitios de los supermercados!)
- SEPAME: muestra todos los precios de todas las sucursales según el dataset SEPA
- Coto_bot (repo: Vosinepi/webScrapping_ETL_canasta_basica)
- @canastita_bot y @asadito_bot de Charly Maslaton
- Yoper (@YoperLATAM)
componentes
scraper-rs
el scraper 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).
(antes había un scraper escrito en JavaScript, pero por problemas de reliability lo reescribí en Rust (?))
sitio
el 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 y pnpm. para el scraper, es necesario Rust 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