Получаем данные из logs api яндекс метрики при помощи python
В данной задаче есть 2 этапа:
- Получить токен для подключения яндекс метрики
- Установить и настроить библиотеку python для получения данных по api
Если у вас на компьютере нет python, то сначала прочтите статью «Как установить python на компьютер»
В этой статье я буду показывать работу в системе windows, с применением IDE jupyter notebook.
1) Получение токена для яндекс метрики
Создание приложения
Для начала работы у вас должен быть аккаунт в яндексе. После переходим по ссылке https://oauth.yandex.ru/ и нажимаем кнопку «зарегистрировать новое приложение».
Указываем название приложения, при желании можете заполнить описание.
В разделе «платформы» выберите пункт веб-сервисы и нажмите на ссылку «подставить url для разработки».
Ниже на этой же странице, в разделе «доступы» находим яндекс метрику и ставим галочку рядом с правом “Получение статистики, чтение параметров своих и доверенных счетчиков”
В конце страницы жмем кнопку «создать приложение».
Откроется страница с данными, вам нужно скопировать ID
Мы зарегистрировали приложение через которое будем работать с api метрики, теперь нужно получить OAuth токен. Для получения доступа к определенному счетчику метрики необходимо чтобы аккаунт получил токен. Не закрывайте эту страницу, далее она нам понадобится.
Получение токена
Для того, чтобы получить токен нужно перейти по следующей ссылке. На конце ссылки вместо букв ID вы должны указать ID своего приложения, который вы получили на предыдущем шаге https://oauth.yandex.ru/authorize?response_type=token&client_id=ID
После перехода по ссылке вам придет уведомление о том, что приложение запрашивает у вашего аккаунта разрешение на доступ к данным метрики, жмем разрешить.
После откроется окно в котором вы получите токен с помощью которого можно получить доступ к статистике метрики.
На следующем этапе мы используем этот токен для извлечения данных из метрики.
2 Установка python библиотеки для работы с logs api метрики
Будем использовать библиотеку которую написал Павел Максимов. Для начала её нужно установить, я буду рассказывать как это делается в windows, на других системах операции похожи. Для этого запускаем командную строку и пишем команду и жмем enter
1 |
pip install tapi-yandex-metrika |
Должна произойти установка, в конце которой вы получите уведомление Successfully installed.
Также понадобится библиотека simplejson, для её установки пишем
1 |
pip install simplejson |
Теперь переходим в jupyter notebook и создаем новый документ. О том что такое jupyter notebook можно узнать из статьи “как установить python на компьютер”.
Копируем код из документации библиотеки. Страница github где копируем код. Ниже скриншот кода который копируем.
Вместо {ваш токен доступа} указываем токен, который мы получили ранее, а вместо {идентификатор счетчика} указываем номер счетчика метрики из которого хотим получить данные. (Токен и номер счетчика пишем в кавычках)
В разделе params мы можем настроить запрос к logs api метрики, указать какие параметры хотим получить, а также указываем диапазон дат за который получаем данные.
В результате в ответ получаем строки с данными, пример ниже.
В таком виде работать с этими данными не очень удобно, поэтому создадим из них pandas dataframe.
Для этого импортируем pandas и проведем преобразование текста в json, а после загрузим в pandas dataframe.
В результате получим dataframe
Вы можете продолжить работать с полученными данными при помощи pandas, если вы не знакомы с pandas, то можете пройти вводный бесплатный курс на яндекс практикуме, чтобы ознакомиться с этой библиотекой, так же вот большая подборка материалов для изучения pandas
Скачать тетрадку jupyter notebook к этой статье можно по ссылке