Monitoraggio dati di mercato
Alerting eventi critici
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
Un solo linguaggio per scraping, monitor e alerting: meno frizione operativa.
Browser Automation
Playwright per i target moderni, Puppeteer stealth dove serve massima aderenza al browser reale.
Alerting & Market Data
Telegram come canale di notifica unico; MetaApi per l'accesso programmatico ai dati di trading.
Persistenza
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.
Monitoraggio dati di mercato
Alerting eventi critici
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.