Технічне заглиблення в tgadsspy: класифікатор і pipeline інгестії даних
Технічна документація pipeline даних tgadsspy — збір даних, архітектура класифікатора ніш (regex + ваги), 3-крокова geo-класифікація, контент-адресоване зберігання SHA256 та кеш агрегації. Для розробників, дослідників і команд відповідності.
Contents
Мета та аудиторія#
Цей документ є технічним заглибленням у те, як Telegram Ads Spy збирає, класифікує та подає дані рекламних оголошень Telegram. Він доповнює огляд на /about деталями рівня реалізації. Основна аудиторія: розробники, що будують на базі публічного API, дослідники, яким потрібно розуміти провенанс даних для цитування, та команди відповідності, що оцінюють OSINT-методологію системи.
1. Джерело даних#
Всі рекламні дані в Telegram Ads Spy походять з єдиного джерела: нашого автоматичного конвеєра збору. Наш шар збору працює поверх API Telegram і повертає структуровані дані у форматі JSON. Telegram Ads Spy покладається лише на цей конвеєр — жодного скрейпінгу.
Що ми збираємо#
- Спонсоровані повідомлення у відстежуваних каналах — текст, кнопка CTA з посиланням, медіа та рекламований канал чи бот; посилання на медіа тимчасові й діють 1 годину.
- Метадані каналів — назва, username, опис, кількість підписників, аватар.
- Пошук каналів — для виявлення нових каналів і для випадків, коли користувач надсилає посилання t.me.
- Рекомендації схожих каналів від Telegram — для розширення пулу відстежуваних каналів.
2. Пул каналів і рівні#
| Рівень | Кількість учасників | Інтервал інгестії |
|---|---|---|
| S (Супер) | 1M+ | 30 хвилин |
| A | 100k–1M | 2 години |
| B | 10k–100k | 8 годин |
| C | 1k–10k | 72 години |
| Placeholder | Невідомо | Не інгестується |
3. Дедуплікація креативів#
відбиток креативу = sha256(title + text + ctaUrl + ctaLabel + accentColor)
Креатив вважається новим лише якщо його відбиток раніше не зустрічався. Це означає:
- Та сама реклама в 100 каналах створює один запис
AdCreative(не 100) - Кожна поява в каналі створює один запис
SponsoredImpression
4. Класифікація ніш#
Крок 1: Виявлення брендів Пошук у словнику ~400 відомих брендів рекламодавців. Приклади:
binance→crypto1xbet→gamblingexness→forex
Крок 2: Скоринг за ключовими словами Regex-патерни оцінюються для кожної ніші з правилами специфічності, заперечення та мовними варіантами.
Таксономія ніш#
crypto, trading, forex, fintech, gambling, betting, vpn, dating, news, education, gaming, retail, tech, bots, adult, signals, remittance, ai, other
5. Географічна класифікація#
Крок 1: Аналіз TLD URL CTA
.ru → RU, .com.br → BR, .pk → PK тощо.
Крок 2: Виявлення мови в тексті креативу Арабський → AR, кирилиця → RU/CIS, деванагарі → HI, хангул → KR, хірагана/катакана → JP, тайська → TH.
Крок 3: Агрегація geo на рівні каналу
Канал, в якому з'явився креатив, має власний geo-сигнал. Креатив із доменом .com на англійській мові, що з'являється переважно в каналах на російській мові, класифікується як RU.
6. Дзеркалювання медіа#
Cron Telegram Ads Spy-media-mirror (кожні 5 хвилин):
- Fetch: HTTP GET за тимчасовим посиланням на медіа
- Hash: SHA-256 сирого бінарного вмісту
- Зберігання: Записує у
/var/www/tgadsspy-media/<префікс>/<sha256-hex>.<ext> - Оновлення:
AdCreative.mediaUrlоновлюється на/m/<префікс>/<sha256-hex>.<ext>
Nginx обслуговує шляхи /m/ з Cache-Control: public, immutable, max-age=31536000.
7. Видобування рекламодавців#
- Рекламодавець-домен: якщо
ctaUrl— зовнішній URL, зареєстрований домен стає записомAdvertiserзtype: domain - Рекламодавець Telegram: якщо
ctaUrl— URLt.me/<username>, ім'я користувача стає записомAdvertiserзtype: telegram
8. Кеш агрегації#
Telegram Ads Spy:home:agg (TTL 120с): загальна кількість креативів, рекламодавців, каналів, топ-ніші, 20 останніх креативів, статистика дня.
Telegram Ads Spy:pool:stats (TTL 600с): кількість каналів за рівнями, кількість придатних для спонсорства, представлені країни.
9. BFS-павук discover-similar#
- Вибір якоря:
Channel.lastSimilarCheckAt IS NULL OR < NOW()-1h - Розмір пакета: 30 каналів за тік (щохвилини в процесі)
- Cooldown якоря: 1 година, щоб запобігти повторному спайдерингу того самого каналу
10. Повнота даних та відомі прогалини#
Оцінка покриття: Для спонсорованих повідомлень кабінету EUR покриття оцінюється в 65–75% усіх унікальних креативів за цей період.
Відомі прогалини: реклама в групах, повідомлення бот-до-користувача, результати inline-ботів, дуже нові канали, канали з < 1k підписників.
11. Ліцензія даних та цитування#
Всі дані під CC-BY-4.0:
Джерело: tgadsspy.com · tgadsspy.com/blog/tgadsspy-classifier-pipeline-technical-deep-dive · CC-BY-4.0
Also available in:
Cite this article
tgadsspy research (2026). Технічне заглиблення в tgadsspy: класифікатор і pipeline інгестії даних. tgadsspy.com. Retrieved from https://tgadsspy.com/blog/uk-tgadsspy-tekhnichne-zaglyblennia-klasyfikator-pipeline-2026
Licensed CC-BY-4.0 — reuse allowed including commercial, attribution required.