Approfondimento tecnico su tgadsspy: classificatore e pipeline di ingestione dati
Documentazione tecnica del pipeline di dati tgadsspy — raccolta dei dati, architettura del classificatore di nicchie (regex + pesi), pipeline geo-classificatore a 3 passi, archiviazione con indirizzamento per contenuto SHA256 e cache di aggregazione. Per sviluppatori, ricercatori e team di conformità.
Contents
- Scopo e pubblico
- 1. Fonte dati
- 2. Pool di canali e livelli
- 3. Deduplicazione dei creativi
- 4. Classificazione delle nicchie
- 5. Classificazione geografica
- 6. Mirror dei media
- 7. Estrazione degli inserzionisti
- 8. Cache di aggregazione
- 9. Spider BFS discover-similar
- 10. Completezza dei dati e lacune note
- 11. Licenza dei dati e citazione
Scopo e pubblico#
Questo documento è un approfondimento tecnico su come Telegram Ads Spy raccoglie, classifica e serve i dati pubblicitari di Telegram. Integra la panoramica su /about con dettagli a livello di implementazione. Pubblico principale: sviluppatori che costruiscono sull'API pubblica, ricercatori che devono comprendere la provenienza dei dati per le citazioni, e team di conformità che valutano la metodologia OSINT del sistema.
1. Fonte dati#
Tutti i dati pubblicitari in Telegram Ads Spy provengono da un'unica fonte: la nostra pipeline di raccolta automatizzata. Il nostro livello di raccolta lavora sopra l'API di Telegram e restituisce dati strutturati. Telegram Ads Spy si affida esclusivamente a questa pipeline — nessuno scraping.
Cosa raccogliamo#
- Messaggi sponsorizzati nei canali monitorati — testo, pulsante CTA e relativo link, media e destinazione dell'inserzionista. I link originali ai media sono temporanei (durata 1 ora).
- Metadati del canale — titolo, username, descrizione, numero di iscritti, avatar.
- Ricerca di canali — usata per scoprire nuovi canali e quando un utente invia un link t.me.
- Raccomandazioni di canali simili di Telegram — usate per ampliare il pool di canali monitorati.
2. Pool di canali e livelli#
| Livello | Numero di membri | Intervallo di ingestione |
|---|---|---|
| S (Super) | 1M+ | 30 minuti |
| A | 100k–1M | 2 ore |
| B | 10k–100k | 8 ore |
| C | 1k–10k | 72 ore |
| Placeholder | Sconosciuto | Nessuna ingestione |
3. Deduplicazione dei creativi#
impronta del creativo = sha256(title + text + ctaUrl + ctaLabel + accentColor)
Un creativo è considerato nuovo solo se la sua impronta non è stata vista prima. Questo significa:
- Lo stesso annuncio in 100 canali produce un solo record
AdCreative(non 100) - Ogni apparizione in un canale produce un record
SponsoredImpression
4. Classificazione delle nicchie#
Passo 1: Rilevamento dei brand Una consultazione contro un dizionario di ~400 brand di inserzionisti noti. Esempi:
binance→crypto1xbet→gamblingexness→forex
Passo 2: Punteggio per parole chiave Pattern regex vengono valutati per ogni nicchia con regole di specificità, negazione e varianti multilingua.
Tassonomia delle nicchie#
crypto, trading, forex, fintech, gambling, betting, vpn, dating, news, education, gaming, retail, tech, bots, adult, signals, remittance, ai, other
5. Classificazione geografica#
Passo 1: Analisi del TLD dell'URL CTA
.ru → RU, .com.br → BR, .pk → PK, ecc.
Passo 2: Rilevamento della lingua sul testo del creativo Arabo → AR, cirillico → RU/CIS, devanagari → HI, hangul → KR, hiragana/katakana → JP, tailandese → TH.
Passo 3: Aggregazione geo a livello di canale
Il canale in cui è apparso il creativo ha il proprio segnale geo. Un creativo con dominio .com in inglese che appare prevalentemente in canali di lingua russa viene classificato come RU.
6. Mirror dei media#
Il cron Telegram Ads Spy-media-mirror (ogni 5 minuti):
- Fetch: HTTP GET all'URL media temporaneo originale
- Hash: SHA-256 del contenuto binario grezzo
- Archiviazione: Scrive in
/var/www/tgadsspy-media/<prefisso>/<sha256-hex>.<ext> - Aggiornamento:
AdCreative.mediaUrlviene aggiornato a/m/<prefisso>/<sha256-hex>.<ext>
Nginx serve i percorsi /m/ con Cache-Control: public, immutable, max-age=31536000.
7. Estrazione degli inserzionisti#
- Inserzionista di dominio: se
ctaUrlè un URL esterno, il dominio registrato diventa un recordAdvertisercontype: domain - Inserzionista Telegram: se
ctaUrlè un URLt.me/<username>, il nome utente diventa un recordAdvertisercontype: telegram
8. Cache di aggregazione#
Telegram Ads Spy:home:agg (TTL 120s): conteggio totale di creativi, inserzionisti, canali, nicchie principali, 20 creativi recenti, statistiche del giorno.
Telegram Ads Spy:pool:stats (TTL 600s): conteggio canali per livello, conteggio idonei per sponsorizzazione, paesi rappresentati.
9. Spider BFS discover-similar#
- Selezione anchor:
Channel.lastSimilarCheckAt IS NULL OR < NOW()-1h - Dimensione del batch: 30 canali per tick (ogni minuto in processo)
- Cooldown anchor: 1 ora per evitare di ri-spidrare lo stesso canale
10. Completezza dei dati e lacune note#
Copertura stimata: Per i messaggi sponsorizzati del cabinet EUR, la copertura è stimata al 65–75% di tutti i creativi unici del periodo.
Lacune note: pubblicità nei gruppi, messaggi bot-a-utente, risultati bot inline, canali molto nuovi, canali con < 1k iscritti.
11. Licenza dei dati e citazione#
Tutti i dati sono sotto CC-BY-4.0:
Fonte: tgadsspy.com · tgadsspy.com/blog/tgadsspy-classifier-pipeline-technical-deep-dive · CC-BY-4.0
Also available in:
Cite this article
tgadsspy research (2026). Approfondimento tecnico su tgadsspy: classificatore e pipeline di ingestione dati. tgadsspy.com. Retrieved from https://tgadsspy.com/blog/it-tgadsspy-approfondimento-tecnico-classificatore-pipeline-2026
Licensed CC-BY-4.0 — reuse allowed including commercial, attribution required.