Building the Reddit Bank Sentiment Scraper

The Reddit Bank Sentiment Scraper is a data pipeline built during a Santander Data Science internship to extract and analyze Spanish-language Reddit conversations about Mexican banks — primarily BBVA and Nu. It surfaces recurring customer complaints, product mentions, and sentiment patterns from real user discussions.

What it does

The pipeline processes Reddit posts and comments through several stages:

Data loading

load_data() reads exported CSV files (Spanish Posts.csv, Spanish Comments.csv) into separate Pandas DataFrames for posts and comments.

Content filtering

filter_santander_content() isolates posts and comments mentioning target banks (Santander, BBVA, Nu), keeping comment threads linked to relevant posts for context-aware analysis.

Text preprocessing

preprocess_text() cleans raw text for NLP:

  • Removes URLs
  • Preserves Spanish characters (á, é, í, ó, ú, ñ)
  • Normalizes to lowercase

Product mention detection

detect_products() and analyze_product_mentions() scan text against a SANTANDER_PRODUCTS keyword dictionary, counting how often each product category appears across posts and comments.

Issue detection

detect_issues() maps text to COMMON_ISSUES keyword categories — flagging recurring complaint themes like branch service, app bugs, fees, or card problems.

Network analysis

NodosCalculador.txt builds graph/node analysis on comment networks to see how complaints spread across threads and which topics cluster together.

Consolidated notebook

V5 Notebook.txt brings scraping, filtering, product detection, and issue analysis into a single end-to-end workflow with visualizations.

Separate scrapers

The repo includes bank-specific scraper scripts:

  • BBVAScrapper.txt — Targets BBVA-related subreddits and keyword searches
  • NuScrapper.txt — Targets Nu bank discussions
  • RedditScrapper.txt — Core scraping logic shared across targets

Use case

This work supported Santander’s competitive intelligence efforts — understanding what customers publicly complain about at rival banks (BBVA, Nu) to inform service improvements and branch experience strategy. Findings fed into the same internship period as the ATM/branch quality models described on the Experience page.

Tech stack

LayerChoice
LanguagePython
DataPandas
SourceReddit API → CSV export
NLPKeyword matching, text preprocessing
AnalysisNetwork/graph analysis (NodosCalculador)
OutputAnnotated DataFrames, notebook summaries

Development process

Initial scraper upload

The Reddit scraper pipeline was committed as part of the Santander internship codebase — scraper scripts for BBVA and Nu, the main RedditScrapper logic, network calculator, V5 consolidated notebook, and exported Spanish posts/comments CSV datasets.

This was developed in parallel with the activity code analyzer and bank branch mapping work during the Santander Data Science internship (2024–2025), before each stream was extracted into its own focused repository.

Blog

recent-work

Building Smartclic Demo

Modern landing page for a Mexican web development agency — React 19, Vite, Tailwind v4, GSAP scroll, 3D viewer, and bilingual ES/EN.

Read more →

Smartclic Demo

Landing page for a Mexican web agency — React 19, Tailwind v4, GSAP scroll, 3D viewer, and bilingual ES/EN.

How it was built →
border-home1