[API, Python, Контекстная реклама, Яндекс API] Обзор python-пакета yadirstat — самый простой способ получить статистику из API Яндекс Директ

Автор Сообщение
news_bot ®

Стаж: 6 лет 3 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
29-Июл-2020 03:30

Здравствуйте, мне приходится собирать статистику из Яндекс Директ и, чтобы упростить работу, я опубликовал свой python-пакет, с помощью которого это можно делать очень просто.
Сначала вам следует получить токен для своего аккаунта (подробнее тут: yandex.ru/dev/oauth/doc/dg/tasks/get-oauth-token-docpage)
Пакет yadirstat уже опубликован на pypi — вы сможете установить его с помощью pip
pip install yadirstat

Пакет позволяет получить следующую статистику:
  • Статистика по кампаниям
  • Статистика по условиям показов (например, ключевые слова и аудитории)
  • Статистика по поисковым запросам

Как запрашивается статистика:
yadirstat.yadirstat.тип запроса(Токен клиента, Логин клиента, Дата начала, Дата окончания)

Примерно так будет выглядеть запрос для получения статистики по поисковым запросам
query_report =yadirstat.yadirstat.query('блаблаБЛАБЛАблаблАбалблаблаб','клиент-1245234','2020-05-10','2020-07-15')
print(query_report)

А так запрос для получения статистики по кампаниям:
campaign_report = yadirstat.yadirstat.campaign('блаблаБЛАБЛАблаблАбалблаблаб','клиент-1245234','2020-05-10','2020-07-15')
print(campaign_report)

А так запрос для получения статистики по условиям показов:
criteria_report = yadirstat.yadirstat.criteria('блаблаБЛАБЛАблаблАбалблаблаб','клиент-1245234','2020-05-10','2020-07-15')
print(criteria_report)

Пример моего запроса:
from yadirstat import yadirstat
x = yadirstat.yadirstat.campaign('AgAAAxxxxxxxXXXXXXxxxxxXXXXXcI','BxxxxXXXX','2020-05-10','2020-07-15')
print(x)

Вывод выглядит следующим образом

Если во время вывода данные не помещаются, можете использовать следующее:
import pandas as pd
pd.set_option('display.max_columns', None)
pd.set_option('display.expand_frame_repr', False)
pd.set_option('max_colwidth', 80)
pd.set_option('max_rows', 600000)

На выходе мы получаем DataFrame
Для полноценного использования я заменяю "--" на «0»
Структура данных:
Поисковые запросы:
  • CampaignName
  • Query
  • Impressions
  • Clicks
  • Ctr
  • Cost
  • AvgCpc
  • ConversionRate
  • CostPerConversion
  • Conversions

Кампании*:
  • Date
  • CampaignName
  • Impressions
  • Clicks
  • Ctr
  • Cost
  • AvgCpc
  • BounceRate
  • AvgPageviews
  • ConversionRate
  • CostPerConversion
  • Conversions
  • Date

Условия показа:
  • CampaignName
  • Criterion
  • Impressions
  • Clicks
  • Ctr
  • Cost
  • AvgCpc
  • Date

*- Добавление даты последним столбцом позволяет не терять данные по датам при передачи DataFrame (Например, при передаче в BigQuery, теряется столбец с датами из-за того, что он индексный, чтобы избежать проблем я просто продублировал этот столбец).
Почему именно така структура? именно так я собираю статистику, чтобы потом отправлять ее в Google BigQuery и далее визуализировать в Google DataStudio.
Буду рад выслушать предложения по развитию данного пакета и ваш опыт сбора статистики.
P.S:
— С агентскими аккаунтами это тоже работает
— И с аккаунтами еламы
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_api, #_python, #_kontekstnaja_reklama (Контекстная реклама), #_jandeks_api (Яндекс API), #_jandeks.direkt (яндекс.директ), #_api_jandeks (api яндекс), #_python, #_kontekstnaja_reklama (контекстная реклама), #_api, #_python, #_kontekstnaja_reklama (
Контекстная реклама
)
, #_jandeks_api (
Яндекс API
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 07-Май 22:22
Часовой пояс: UTC + 5