[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80325":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":13,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":13,"lastSyncTime":25,"discoverSource":26},80325,"scrapping-amazon-prices","midudev\u002Fscrapping-amazon-prices","midudev","Scraper de precios de Amazon",null,"TypeScript",68,20,2,0,1,4,3,44.37,false,"main",[],"2026-06-12 04:01:27","# Amazon Price Tracker\n\nTracker de precios de Amazon con:\n\n- scraping (vía Decodo API o modo manual),\n- persistencia en Turso (libSQL),\n- dashboard web en Astro para visualizar evolución de precios,\n- workflow de GitHub Actions para ejecuciones automáticas.\n\n## Requisitos\n\n- Node.js >= 22.12.0\n- pnpm\n- Base de datos Turso creada (URL + auth token)\n- Token de Decodo para el scraping por API\n\n## Instalación\n\n```bash\npnpm install\n```\n\n## Configuración\n\n1. Crea tu archivo de entorno:\n\n```bash\ncp .env.example .env\n```\n\n2. Rellena variables en `.env`:\n\n```env\nDECODO_AUTH_TOKEN=tu_token\n\nTURSO_DATABASE_URL=tu_database_url\nTURSO_AUTH_TOKEN=tu_auth_token\n\nAMAZON_ASINS=B0XXXXXXXX,B0YYYYYYYY\nAMAZON_STORE=es\n```\n\nNotas:\n\n- `AMAZON_ASINS` acepta una lista separada por comas.\n- `AMAZON_STORE` define el dominio (`es` -> `amazon.es`, `com` -> `amazon.com`, etc.).\n\n## Uso\n\n### 1) Ejecutar tracking por API (recomendado)\n\n```bash\npnpm track\n```\n\nEsto:\n\n- inicializa la tabla `price_snapshots` si no existe,\n- scrapea cada ASIN,\n- guarda un snapshot por producto en Turso.\n\n### 2) Ejecutar scraping manual (sin API de Decodo)\n\n```bash\npnpm track:manual\n```\n\nEste modo hace fetch directo contra Amazon y puede fallar por CAPTCHA o bloqueo.\n\n### 2.1) Ejecutar scraping manual usando Proxy + Decodo\n\n```bash\npnpm track:manual:proxy\n```\n\nEste modo reutiliza el scraper por API (Decodo) y muestra logs manuales por ASIN indicando que la solicitud se realiza por proxy.\n\n### 3) Ver dashboard local\n\n```bash\npnpm dev\n```\n\nAbre la URL que muestra Astro (normalmente `http:\u002F\u002Flocalhost:4321`) para ver:\n\n- tarjetas por producto,\n- precio actual y variación,\n- histórico de precios con gráfico.\n\n## Scripts\n\n- `pnpm dev`: arranca la app en desarrollo\n- `pnpm build`: build de producción\n- `pnpm preview`: sirve el build local\n- `pnpm track`: ejecuta scraper API + persistencia\n- `pnpm track:manual`: ejecuta scraper manual + persistencia\n- `pnpm track:manual:proxy`: ejecuta scraper manual de consola usando Decodo (proxy)\n\n## Automatización con GitHub Actions\n\nExiste un workflow en `.github\u002Fworkflows\u002Ftrack-amazon-prices.yml` que se ejecuta:\n\n- cada día a las 07:00 UTC,\n- y manualmente con `workflow_dispatch`.\n\nDebes configurar estos secretos en GitHub:\n\n- `DECODO_AUTH_TOKEN`\n- `TURSO_DATABASE_URL`\n- `TURSO_AUTH_TOKEN`\n- `AMAZON_ASINS`\n\n## Estructura del proyecto\n\n```text\nsrc\u002F\n  db\u002F\n    client.ts      # cliente Turso\n    schema.ts      # creación de tabla e índice\n    queries.ts     # inserts y consultas\n  tracker\u002F\n    index.ts       # entrypoint del tracking por API\n    scraper.ts     # scraping con Decodo\n    manual-scraper.ts\n    utils.ts\n    types.ts\n  pages\u002F\n    index.astro    # dashboard\n```\n\n## Cambiar proveedor de scraping\n\nLa parte intercambiable está en `src\u002Ftracker\u002Fscraper.ts`.\n\nMientras `scrapeProduct(asin)` devuelva la estructura `ProductSnapshot`, el resto del sistema no necesita cambios.\n\n## Consideraciones\n\n- El HTML y las estructuras de Amazon pueden cambiar sin previo aviso.\n- Respeta términos de uso y límites del proveedor de scraping.\n- Este proyecto está orientado a aprendizaje y monitorización técnica.","该项目是一个用于追踪亚马逊商品价格的工具。它利用Decodo API或手动模式进行网页抓取，使用Turso（libSQL）存储数据，并通过Astro构建的Web仪表板展示价格变化趋势。此外，项目集成了GitHub Actions以实现自动化的每日价格更新。适合需要监控特定亚马逊商品价格变动的个人或企业使用，例如电商从业者、市场分析师等。技术栈主要基于TypeScript，要求Node.js版本不低于22.12.0，并依赖于pnpm作为包管理器。通过简单的配置即可开始跟踪指定的商品列表，在本地开发环境中查看实时与历史价格信息。","2026-06-11 04:00:20","CREATED_QUERY"]