Automazione Scraping Case Study

Suite di Automazione e Scraping Avanzato

Come ho progettato una suite di automazione per orchestrare scraping stealth, monitoraggio dei dati di mercato e alerting in tempo reale: browser automation con Playwright e Puppeteer, rotazione proxy, persistenza ibrida MongoDB/SQLite e notifiche Telegram per gli eventi critici.

Mariano Matera Progetto interno / R&D Automazione 8 min lettura
Illustrazione rappresentativa del progetto — visual concettuale, non uno screenshot reale del cliente
Visual rappresentativo del progetto: illustrazione concettuale, non uno screenshot reale del cliente (progetto soggetto a riservatezza).
Real-time

Monitoraggio dati di mercato

Telegram

Alerting eventi critici

Stealth

Scraping con rotazione proxy

Il Contesto

Questo e un progetto interno / R&D nato per consolidare in un unico toolkit attivita di automazione che fino a quel momento vivevano sparse in script monouso. L'esigenza era trasversale: raccogliere dati da fonti web che cambiano spesso struttura, tenere sotto osservazione dati di mercato che si muovono in tempo reale e ricevere una notifica nel momento esatto in cui accade qualcosa che richiede attenzione. Trattandosi di un progetto interno, la liberta narrativa e completa e non ci sono vincoli di riservatezza su clienti terzi.

Il Problema

Gli script di scraping isolati condividono sempre gli stessi punti deboli, e questo progetto e nato proprio per eliminarli alla radice:

  • Fragilita verso le difese anti-bot: i siti target rilevano e bloccano i browser automatizzati tramite fingerprinting, sfide JavaScript e rate limiting per IP. Uno scraper "ingenuo" smette di funzionare nel giro di poche ore.
  • Latenza di reazione troppo alta: controllare i dati di mercato a intervalli manuali significa accorgersi degli eventi rilevanti con minuti o ore di ritardo, quando ormai e tardi per reagire.
  • Nessun canale di notifica unificato: ogni script logga a modo suo, senza un punto centrale che dica "e successo questo, adesso".
  • Persistenza disordinata: dati semi-strutturati e ad alto volume mescolati a stato applicativo leggero, senza una separazione netta degli storage.

L'obiettivo: una suite che resista alle difese anti-bot, reagisca agli eventi in tempo reale e concentri tutto l'alerting in un unico canale operativo.

La Soluzione

L'architettura e organizzata in quattro blocchi indipendenti su runtime Node.js, ognuno sostituibile senza riscrivere gli altri.

Motore di scraping stealth

Il cuore della suite e un layer di browser automation che usa Playwright per i target moderni e Puppeteer in configurazione stealth dove serve aderenza massima al comportamento di un browser reale. Lo strato stealth maschera i segnali tipici dell'automazione (proprieta navigator.webdriver, fingerprint del canvas, header coerenti) e ruota su un pool di proxy per distribuire le richieste ed evitare il rate limiting per singolo IP.

Monitor dei dati di mercato

Un servizio dedicato tiene una connessione viva verso le fonti di dati di mercato, integrando MetaApi SDK per l'accesso programmatico ai dati di trading. Valuta in continuo le condizioni configurate (soglie, scostamenti, pattern) e produce un evento nel momento esatto in cui una regola viene soddisfatta, invece di affidarsi a un polling periodico.

Layer di alerting

Ogni evento critico viene instradato verso un bot Telegram che recapita la notifica in tempo reale, con messaggi formattati e contestualizzati. Telegram diventa l'unico cruscotto operativo: niente dashboard da tenere aperta, l'alert arriva dove l'utente gia guarda.

Persistenza ibrida

Lo storage e volutamente diviso: MongoDB per i dati scraped semi-strutturati e ad alto volume, dove la flessibilita dello schema e un vantaggio; SQLite per lo stato applicativo locale, le configurazioni e la deduplica degli eventi, dove serve un database embedded a zero-configurazione e basso overhead.

Tecnologie Chiave

Lo stack privilegia un unico runtime per tutta la suite e librerie mature di browser automation, in modo da ridurre il costo di manutenzione e i context switch.

Runtime

Node.js

Un solo linguaggio per scraping, monitor e alerting: meno frizione operativa.

Browser Automation

Playwright Puppeteer (stealth)

Playwright per i target moderni, Puppeteer stealth dove serve massima aderenza al browser reale.

Alerting & Market Data

Telegram Bot API MetaApi SDK

Telegram come canale di notifica unico; MetaApi per l'accesso programmatico ai dati di trading.

Persistenza

MongoDB SQLite

MongoDB per i dati scraped ad alto volume, SQLite embedded per stato e deduplica.

Il Risultato

La suite ha trasformato un insieme di script fragili in un sistema unico, resiliente e reattivo, capace di automatizzare processi web ripetitivi e di segnalare gli eventi rilevanti nel momento in cui accadono.

Real-time

Monitoraggio dati di mercato

Telegram

Alerting eventi critici

Stealth

Scraping con rotazione proxy

Nota. Gli indicatori riportati sono qualitativi e descrivono le capacita abilitate dalla suite, non metriche audited. Trattandosi di un progetto interno / R&D, descrivono i comportamenti del sistema piuttosto che risultati commerciali misurati.

Sfide Tecniche

Restare invisibili alle difese anti-bot

La sfida principale e la corsa agli armamenti contro i sistemi di rilevamento. Un browser automatizzato lascia decine di tracce: navigator.webdriver a true, fingerprint del canvas anomali, timing troppo regolari, header incoerenti. La soluzione e stata combinare il preset stealth di Puppeteer (che neutralizza i segnali piu noti) con una rotazione dei proxy che distribuisce le richieste su piu IP, evitando i ban per rate limiting, e con tempi di interazione resi non deterministici per imitare un utente reale.

Reagire in tempo reale senza fare polling continuo

Il secondo nodo era passare da un controllo periodico a una reattivita immediata sui dati di mercato. Invece di interrogare le fonti a intervalli fissi, il monitor mantiene una connessione viva e valuta le condizioni in streaming, generando l'evento nell'istante in cui una regola scatta. La deduplica su SQLite garantisce che lo stesso evento non produca alert ripetuti, mantenendo il canale Telegram pulito e azionabile.

Per altri progetti di automazione di processi e per il profilo professionale, vedi la pagina Chi sono e il portfolio completo.

Hai un Processo da Automatizzare? Parliamone

Se hai attivita web ripetitive, dati da raccogliere o eventi da monitorare in tempo reale, posso aiutarti a progettare una suite di automazione su misura, robusta e manutenibile. Prima consulenza gratuita e senza impegno.

Richiedi Consulenza Gratuita
Scrivimi su WhatsApp