Парсинг рекламной выдачи Яндекс.Директ - изучаем стратегии конкурентов

16-08-2019 14:21

Мы любим емкие графики. С учетом их данных мы не совершаем глупых ошибок, не отвлекаемся на изучение лишних вещей и можем тратить время на творчество и эксперименты, а не на рутину.

 

Ниже - приведен пример работы с открытыми данными для получения статистики по лидерам рынка в заданном регионе

Для получения нижеследующих графиков в постоянном режиме собирается информация о содержимом прямой выдачи Яндекс.Директ. 

 

 

 

 

 

 

 

 

 

 

 


 

Применимость данных

Данные позволяют оценить стратегии конкурентов, определить игроков, заведомо тратящих на рекламу в контекстной рекламе больше всех остальных, и возможно, определить свои, или чужие ошибки.

Метод сбора и визуализации

Парсинг и визуализация реализована средствами Python 3.

Сбор данных - библиотека BS4 с использованием рандомизированных таймеров, заголовков браузеров и рандомизированных "шумовых" действий программы для снижения рисков появления капчи.

Вычисления - библиотеки Numpy, Pandas.

Визуализация данных - Seaborn, Matplotlib.

Парсер рекламной выдачи работает по принципу сбора шести первых результатов по списку запросов.

Но разовый парсинг контекстной рекламы не имеет весомой пользы - важно динамическое отслеживание для подготовки средних значений в общности, по определенным дням, по определенным часам, по дням недели.

Поэтому основная работа коснулась не сбора статистики, а дальнейшей оптимизации данных.

 

Архитектура хранения данных

Структура хранения данных устроена по принципу //клиент//размеченные по датам и дням неделям датасеты//

 

 

В папке это выглядит как на скриншоте выше.

Структура имени - название отчета, дата, час, день недели (разметка от нулевого значения).

 

Внутри датасетов информация разложена в следующем виде:

 

В первом столбце - индекс 

Во втором - сайт

В третьем - место в выдаче 

В четвертом - поисковой запрос

 

Преобразования 

Основные расчеты произведены с помощью методов библиотеки Пандас. Расчеты включили в себя:

- склеивание датасетов по условиям фильтрации

- применение функций расчетного среднего трафика и расхода денежных средств с учетом занимаемого места в рекламной выдаче. 

 

Получаемые данные 

Для читаемого представления занимаемые места подменяются значениями потенциального трафика. После, данные сокращаются до ТОП-списка зафиксированных конкурентов и переводятся в процентное друг к другу соотношение.