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

от автора

Здравствуйте, мне приходится собирать статистику из Яндекс Директ и, чтобы упростить работу, я опубликовал свой 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:
— С агентскими аккаунтами это тоже работает
— И с аккаунтами еламы

ссылка на оригинал статьи https://habr.com/ru/post/512902/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *