Construyendo el Reddit Bank Sentiment Scraper

El Reddit Bank Sentiment Scraper es un pipeline de datos construido durante una pasantía de Data Science en Santander para extraer y analizar conversaciones en español de Reddit sobre bancos mexicanos — principalmente BBVA y Nu. Expone quejas recurrentes de clientes, menciones de productos y patrones de sentimiento a partir de discusiones reales de usuarios.

Qué hace

El pipeline procesa publicaciones y comentarios de Reddit en varias etapas:

Carga de datos

load_data() lee archivos CSV exportados (Spanish Posts.csv, Spanish Comments.csv) en DataFrames separados de Pandas para posts y comentarios.

Filtrado de contenido

filter_santander_content() aísla posts y comentarios que mencionan bancos objetivo (Santander, BBVA, Nu), manteniendo hilos de comentarios vinculados a posts relevantes para análisis con contexto.

Preprocesamiento de texto

preprocess_text() limpia texto crudo para NLP:

  • Elimina URLs
  • Preserva caracteres en español (á, é, í, ó, ú, ñ)
  • Normaliza a minúsculas

Detección de menciones de productos

detect_products() y analyze_product_mentions() escanean el texto contra un diccionario de palabras clave SANTANDER_PRODUCTS, contando cuántas veces aparece cada categoría de producto en posts y comentarios.

Detección de problemas

detect_issues() mapea texto a categorías de palabras clave COMMON_ISSUES — marcando temas recurrentes de queja como servicio en sucursal, bugs de app, comisiones o problemas con tarjetas.

Análisis de redes

NodosCalculador.txt construye análisis de grafos/nodos sobre redes de comentarios para ver cómo se propagan las quejas entre hilos y qué temas se agrupan.

Notebook consolidado

V5 Notebook.txt integra scraping, filtrado, detección de productos y análisis de problemas en un flujo end-to-end con visualizaciones.

Scrapers separados

El repositorio incluye scripts de scraper específicos por banco:

  • BBVAScrapper.txt — Apunta a subreddits y búsquedas por palabra clave relacionadas con BBVA
  • NuScrapper.txt — Apunta a discusiones sobre el banco Nu
  • RedditScrapper.txt — Lógica central de scraping compartida entre objetivos

Caso de uso

Este trabajo respaldó los esfuerzos de inteligencia competitiva de Santander — entender de qué se quejan públicamente los clientes de bancos rivales (BBVA, Nu) para informar mejoras de servicio y estrategia de experiencia en sucursal. Los hallazgos alimentaron el mismo periodo de pasantía que los modelos de calidad de ATM/sucursal descritos en la página de Experience.

Stack tecnológico

CapaElección
LenguajePython
DatosPandas
FuenteReddit API → exportación CSV
NLPCoincidencia por palabras clave, preprocesamiento de texto
AnálisisAnálisis de redes/grafos (NodosCalculador)
SalidaDataFrames anotados, resúmenes en notebook

Proceso de desarrollo

Este proyecto se extrajo del codebase más amplio de la pasantía en Santander después de validar los flujos de scraping y análisis con datos reales de Reddit. El historial de commits refleja una subida consolidada del pipeline funcional en lugar de muchos commits públicos incrementales.

Pipeline de recolección de datos

  • Scripts de scraper para hilos de BBVA y Nu, más el módulo compartido RedditScrapper que maneja paginación y exportación.
  • Uso de la API de Reddit para extraer posts y comentarios en español hacia archivos CSV estructurados.
  • Aplicación de keyword matching y preprocesamiento de texto para que solo contenido relevante a bancos entrara al set de análisis.
  • Salidas: datasets fechados de posts/comentarios listos para exploración en notebook.

Análisis de sentimiento y redes

  • Carga de exportaciones en DataFrames de pandas para limpieza, etiquetado y estadísticas resumen.
  • Ejecución del módulo de grafos NodosCalculador para mapear relaciones entre autores, hilos e instituciones mencionadas.
  • Consolidación de hallazgos en el notebook V5 — tablas anotadas, resúmenes de sentimiento y gráficas para revisión de stakeholders.
  • Contexto: desarrollado en paralelo con el Analizador de Códigos de Actividad y el mapeo de sucursales bancarias durante la pasantía de Data Science en Santander (2024–2025).

Separación de repositorio

  • Traslado del scraper, calculador de redes, notebook y CSVs de muestra a este repositorio enfocado una vez validados los entregables de la pasantía.
  • Estructura de carpetas alineada con el flujo real del equipo: scrape → export → notebook → reporte.
  • Conservación de datasets en español para reproducir resultados sin volver a scrapear hilos en vivo.

Blog

recent-work

Construyendo Galena AI

Dashboard de detección de voz sintética — seis detectores ONNX detrás de un servicio FastAPI, confianza del veredicto, historial de llamadas y métricas interactivas del modelo.

Leer más →

Galena AI

Dashboard de detección de voz sintética — seis detectores ONNX vía FastAPI, confianza del veredicto, historial de llamadas y métricas interactivas.

Cómo se construyó →
border-home1