Контроль повторных расходов в системе поиска B2B-партнёров
В системе поиска B2B-партнёров я автоматизировал отбор компаний и сбор контактов. База пополняется частями, запросы расширяются, а в выдаче снова встречаются знакомые компании. Если заново обходить их сайты и отправлять данные в AI, бюджет расходуется на уже выполненную работу.
Поэтому я реализовал два уровня памяти на Python: историю поисковых задач и реестр компаний.
Каждому запросу к поисковому сервису SerpApi присваивается устойчивый ключ: он учитывает поисковый источник, группу, фразу и язык. Выполненные задачи сохраняются между запусками. Новые фразы расширяют поиск, а завершённые задачи система пропускает.
Но разные запросы могут привести к одной компании. Поэтому до платного обхода сайтов и AI-анализа данные приводятся к единому виду и сравниваются с реестром по домену, телефону, адресу страницы и названию.
Пришлось решить ещё одну проблему: повторная находка со статусом «пропущено» могла ухудшить статус обработанной компании. Я исправил объединение записей: такой дубль больше не исключает подготовленную компанию из клиентской выдачи.
Проверка последовательных запусков подтвердила продвижение по новым поисковым задачам. Повторные прогоны проверены на дубли и сохранение обработанных записей.
Бизнес может расширять поиск, сохраняя накопленный результат. Учёт запросов ограничивает повторные обращения к поисковому сервису, а реестр компаний помогает отсекать дубли до платного сбора контактов и AI-анализа.