65b4e1c3df
Единая команда: скан сайтов + Директ (Москва+город объединением) + вилка бюджета + все реквизиты Спарка (ОГРН, директор, ИНН директора, адрес, email, совладельцы). Чекпоинты, чистка агрегаторов/дублей, .txt-сводка для приёмки. Рунбук приложен. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5.4 KiB
5.4 KiB
Рунбук: «Кто из фирм платит за рекламу» из выгрузки Спарка
Что это. Регулярная задача: заказчик даёт выгрузку из Спарка (юрлица с сайтами/телефонами) — робот по каждой фирме определяет, платит ли она за рекламу и где (Яндекс.Директ, коллтрекинг, соцпиксели), с вилкой бюджета и всеми реквизитами. Заказчик делает приёмку и работает с готовым файлом.
Робот: моя/ad-scan/run_spark.py. Код в git; данные, результаты и токен — вне git.
Как запускать (одна команда)
cd "c:/моя/проекты/портал crm/Документация/моя/ad-scan"
python -u run_spark.py "<путь к спарк.xlsx>" "<тег>"
# пример:
python -u run_spark.py "../СПАРК_клиники_МСК.xlsx" "клиники-мск"
<тег>— короткое имя для файлов результата.- Прогон длинный (сотни фирм = 15–40 мин): запускать в фоне, прогресс печатается каждые 50 фирм, файл сохраняется чекпоинтами каждые 200 (потерь нет).
Результат (в моя/результат/):
<тег>-реклама-ФИНАЛ.xlsx— таблица, рекламодатели сверху.<тег>-реклама-СВОДКА.txt— цифры для приёмки.
Что нужно на входе
- Спарк-выгрузка
.xlsxсо стандартными колонками (заголовки в строке 4): № · Наименование · Рег.номер(ОГРН) · Адрес · Руководство · Должность · Руководство-ИНН · Телефон · Email · Сайт · Совладельцы · Вид деятельности. Если структура другая — сначала поправить индексы вadscan/extract.py. - Токен Keys.so в
моя/ad-scan/secrets/keyso_token.txt(тариф с API — «Профессиональный», ~9 300 ₽/мес). Токен НЕ коммитить (в.gitignore).
Колонки результата
№ · Наименование · Домен · Телефон · Рекламируется платно · Коллтрекинг · Пиксели · Директ · Ключей Директ · База(город) · Бюджет от · Бюджет до · Доказательства · ОГРН · ФИО директора · ИНН директора · Адрес · Email · Совладельцы.
Как это считается (чтобы принимать осознанно)
- Рекламируется платно = да, если нашли Директ или коллтрекинг (Calltouch/Comagic/Callibri/Roistat/Mango) или рекламный пиксель (VK-myTarget/Google Ads/Meta) на сайте.
- Директ берётся из Keys.so по двум базам сразу — Москва и родной город фирмы (город из адреса), объединением: «да», если крутит хоть в одной.
- Бюджет — вилка «от–до»: от средней оценки Keys.so до максимума. Это оценка модели, не факт из кассы; годится для ранжирования, не для рубля.
- Дубли по домену и агрегаторы (vk.com, yell.ru, prodoctorov, 2gis, banki.ru и т.п.) — исключаются.
Приёмка — на что смотреть
СВОДКА.txt: доля «рекламируется», число Директ, вилка бюджета, медиана (реальный масштаб) и ТОП-4 выброса (несколько крупных сетей раздувают сумму).- «Не проверено» — у фирм, чей сайт не открылся; их реклама не оценена.
Известные ограничения
- Keys.so нет базы «вся Россия» — города вне ~20 поддерживаемых уходят в
msk(список баз вadscan/regions.py). Такие фирмы могут быть недосчитаны. - Первый запрос к региону Keys.so «прогревается» (HTTP 202) — отсюда время.
- «ИНН фирмы» в выгрузке Спарка нет — есть ОГРН (по нему при желании ИНН тянется через DaData отдельным шагом).
- Коллтрекинг/пиксели, подгружаемые через диспетчер тегов, скан не видит — число «рекламируется» это занижает (нижняя граница, не потолок).
Уже прогнано (примеры)
- Стоматологии: 1 854 → 456 рекламируется, 238 Директ.
- Ломбарды/МФО: 638 → 124 рекламируется, 74 Директ.