Proyecto para scraping de datos de Founders25.
Este proyecto se encarga de extraer y procesar datos de la plataforma Founders25 utilizando técnicas avanzadas de scraping incluyendo scroll infinito y navegación de páginas individuales para maximizar la captura de contenido.
Este proyecto utiliza semantic-release para automatizar el control de versiones siguiendo el estándar Semantic Versioning (MAJOR.MINOR.PATCH).
El versionado se determina automáticamente basándose en los mensajes de commit:
feat:- Nueva funcionalidad → Incrementa MINORfix:- Corrección de bug → Incrementa PATCHfeat!:ofix!:conBREAKING CHANGE:en body → Incrementa MAJORdocs:,style:,refactor:,test:,chore:- No cambian la versión
# Nueva funcionalidad (versión 0.1.0)
git commit -m "feat: agregar módulo de extracción de datos"
# Corrección de bug (versión 0.1.1)
git commit -m "fix: corregir error en parsing de HTML"
# Cambio breaking (versión 1.0.0)
git commit -m "feat!: cambiar API de configuración"
BREAKING CHANGE: La configuración ahora usa formato JSON en lugar de YAML"
# Cambios que no afectan versión
git commit -m "docs: actualizar README con nuevas instrucciones"
git commit -m "chore: actualizar dependencias"- Realiza tus cambios siguiendo las convenciones de commits mencionadas arriba
- Haz push a la rama
master - GitHub Actions detectará los cambios y ejecutará semantic-release automáticamente
- Si hay cambios significativos, se creará un nuevo tag y release en GitHub
- El CHANGELOG.md se actualizará automáticamente
# Instalar dependencias
npm install
# Ejecutar el scraper
npm run scrape# Ejecutar el scraper
npm run scrape
# Este comando generará:
# - data/precios.csv - Datos de precios en formato CSV
# - data/precios.json - Datos de precios en formato JSON
# - data/lecciones.csv - Datos de lecciones en formato CSV
# - data/lecciones.json - Datos de lecciones en formato JSON
# - data/lecciones_images/ - Imágenes de las lecciones descargadasscraper.js- Código principal del scraperpackage.json- Dependencias y scripts del proyectoREADME.md- Documentación del proyecto.gitignore- Configuración de exclusiones
data/- Datos scrapeados (CSV, JSON, imágenes)data/precios.csv- Precios en formato CSVdata/precios.json- Precios en formato JSONdata/lecciones.csv- Lecciones en formato CSVdata/lecciones.json- Lecciones en formato JSONdata/precios_images/- Imágenes de preciosdata/lecciones_images/- Imágenes de lecciones
La carpeta data/ está excluida del repositorio en el archivo .gitignore por las siguientes razones:
- Datos dinámicos: Los datos scrapeados cambian constantemente con cada ejecución
- Commits innecesarios: Cada ejecución del scraper generaría commits masivos de datos
- Repositorio limpio: Evita archivos grandes que no son código fuente
- Práctica estándar: En proyectos de scraping, los datos generados no se versionan
Los usuarios pueden generar los datos localmente ejecutando npm run scrape.
- Plan Gratuito: Acceso gratuito con funcionalidades básicas
- Plan Lite: 5€/mes con funcionalidades extendidas
- Plan Advanced: 10€/mes con acceso completo
- Plan Pro: 22€/mes con mentoría y bolsa de trabajo
- Plan Founder: 499€ pago único con beneficios exclusivos
- 25 lecciones extraídas con:
- Títulos, descripciones y URLs de video
- Etiquetas (Acceso especial, niveles, categorías)
- Duración, visualizaciones e imágenes de portada
- Captura mejorada: Utiliza scroll infinito y navegación de páginas individuales
- Scroll Infinito: Detecta automáticamente contenido dinámico
- Navegación Individual: Visita páginas de lecciones para encontrar más contenido
- Deduplicación Robusta: Evita duplicados con normalización de títulos
- Extracción Completa: Captura todos los datos disponibles públicamente
- puppeteer: Para navegación con JavaScript y renderizado de contenido dinámico
- cheerio: Para parsing de HTML
- axios: Para descarga de archivos
- csv-writer: Para exportación a formato CSV
-
Clone el repositorio:
git clone https://github.com/gcentegit/founders25-scraper.git cd founders25-scraper -
Instale las dependencias:
npm install
-
Ejecute el scraper:
npm run scrape
-
Acceda a los datos generados:
- Archivos CSV y JSON se generarán en la carpeta
data/ - Las imágenes se descargarán en
data/precios_images/ydata/lecciones_images/
- Archivos CSV y JSON se generarán en la carpeta
-
Actualice el repositorio (si realizó cambios en el código):
git add . git commit -m "feat: descripción de los cambios" git push origin master
Nota: No incluya la carpeta data/ en los commits, ya que está excluida en .gitignore.
Las contribuciones son bienvenidas. Por favor, sigue las convenciones de commits mencionadas arriba y abre un issue o pull request.