Ставане на Padawan Logs API ключ, случаи на SEO социални медии, реклама, инструкции
Но Yandex.Metrica не спря в развитието си на обичайния API, който ви позволява да извличате данни само за даден списък от групи, ограничени до 10 групи на заявка. Разработчиците на Yandex предоставиха възможност за получаване на „сурови“ данни от хранилището на данни Yandex.Metrics - Logs API.
Агрегирани или обобщени данни, които виждате в интерфейса на Metrica или качвате чрез API за отчети, се изчисляват за конкретна група посещения. Например показателят Време на сайта се изчислява за всички кликвания от източник на трафик, всички посещения от мъже посетители или всички посещения от таблети.
В тази статия искам да споделя моята рецепта за получаване на данни от API за регистрационни файлове на Yandex.Metrica, както и няколко метода за обработка на тези данни.
Предупреждение: в следващите примери ще използвам невалиден токен, така че за да работят примерите, трябва да използвате токена, който сте получили сами, или можете да опитате токена, предоставен като тест в документацията:05dd3dd84ff948fdae2bc4fb91f13e22bb1f289ceef0037
Второ: Искане за създаване на дневник
Методът „Създаване на журнал на заявка“ създава заявка за изготвяне на отчет, който ще съдържа необходимите ни данни.
Това е POST заявка със следната структура:
ПУБЛИКУВАЙТЕ https://api-metrika.yandex.ru/management/v1/counter//logrequests? date1= &date2= &fields= &source=
Регистрирайте параметрите на заявката
Нека разгледаме всички параметри, които трябва да бъдат предадени в заявката:—ID на брояча Metrica.дата1— начална дата на отчетния период във формат ГГГГ-ММ-ДД (например 31.08.2015).date2— крайна дата на отчетапериод във формат ГГГГ-ММ-ДД (не може да бъде текущият ден).fields— списък с полета за получаване. Полетата са разделени със запетаи.
Нека разгледаме параметъра полета по-подробно.
Да предположим, че искаме да получим подробности за всяко посещение, като посочим:
Разглеждаме таблицата с полета за посещения и определяме, че имаме нужда от следните полета:
След това трябва да направите POST заявка. Един от най-лесните начини да направите POST заявка без кодиране е да използвате разширението Postman Chrome.
Как да направите POST заявка към API на Yandex.Metrica?
1. Инсталирайте и стартирайте разширението Postman:
2. Изберете типа HTTP заявка „POST“ и вмъкнете заявката, генерирана по-горе, в полето за въвеждане на заявка:
3. Натиснете синия бутон "Изпрати".
4. Получаваме отговор от API:
5. В отговора се интересуваме от идентификатораrequest_id. Това е идентификаторът на генерираната заявка за получаване на данни от API за регистрационни файлове:
Копираме този идентификатор, ще ни трябва в следващата стъпка.
Трето: Получаване на информация за заявка за журнал
След като изпратихме заявка до API за генериране на дневник, трябва да получим състоянието на дневника: разберете дали е готов за изтегляне. За тази цел има метод "Информация за искане на регистрационни файлове".
Този метод се извиква със следната GET заявка:
ВЗЕМЕТЕ https: //api-metrika.yandex.ru/management/v1/counter//logrequest/
ВместоcounterIdзаместваме идентификатора на брояча, за който направихме заявката за създаване, а вместоrequestIdпоставяме идентификатора request_id, получен в отговора на предишната заявка. След това през знака "?" посочете параметъра oauth_token.
отвсъщност това е обикновена GET заявка, така че можете да я изпълните в обикновен браузър, но ще бъде по-удобно в Postman, защото в нея е вграден доста JSON изход и ще бъде по-приятно да гледате резултата.
Вмъкнете заявката в Postman, изберете типа HTTP заявка „GET“ и щракнете върху „Изпращане“:
Интересуваме се от параметъраstatusв отговора. Този параметър може да приема няколко стойности, които са описани тук. В нашия случай той приема стойността „processed“, което показва, че заявката за регистрационен файл е обработена и регистрационният файл е готов за изтегляне. Това е, което ви трябва!
Обърнете внимание на параметъраparts. Може да се случи, че полученият дневник ще бъде твърде голям и ще бъде разделен на няколко части, които ще трябва да се изтеглят отделно.
Нека да преминем към изтеглянето на дневника.
Четвърто: Изтегляне на дневник
Този метод, подобно на предишния, се извиква с GET заявка:
ВЗЕМЕТЕ https: //api-metrika.yandex.ru/management/v1/counter//logrequest//part//download
Подобно на начина, по който го направихме в предишната заявка, вместоcounterIdзаместваме идентификатора на брояча, вместоrequestIdпосочваме идентификатора на request_id, който вече знаем, и вместоpartNumberпоставяме серийния номер на частта от лога, която искаме да изтеглим. В нашия пример има само една част, така че задаваме 0. След това, чрез "?" посочете параметъра oauth_token.
Тази GET заявка може да бъде направена както в браузъра, така и чрез Postman, но в случая с Postman, вместо „Изпращане“, трябва да изберете опцията „Изпращане и изтегляне“:
След това запазете получения файл във формат CSV:
Всичко! Получихме дневника и го записахме на нашия диск, за да можем да предпазим Yandex от ненужно съхранениеинформация и изчистете регистрационния файл с помощта на метода „Изчистване на регистрационни файлове на обработени заявки, подготвени за зареждане“. Това става с помощта на вече познатата ни POST заявка.
Окончателно: Обработка на дневника
Честно казано, обработката на регистрационни файлове с Excel все още е извращение, бих препоръчал да използвате нещо по-подходящо за такива задачи, например Pandas или R. Но Excel е основен инструмент за анализ на данни, така че ще го разгледам като пример.
Отворете CSV файла в Excel. За да направите това, създайте нова книга, отворете раздела „Данни“ и изберете „От текст“:
Избираме файл и посочваме в съветника за текст, че нашият файл съдържа разделители и е написан в UTF-8 кодиране:
В следващата стъпка избираме знака за разделяне като разделителен знак и след това задаваме форматите на колоните, най-добре е да зададете формата на текстовата колона за идентификатори.
И така, заредихме нашите данни в таблица:
След това нека решим два прости проблема:
Нека изградим проста обобщена таблица:
Сега можем да приложим филтър в таблицата с данни, за да разберем от кои страници тези потребители най-често са стигали до сайта и колко често са го посещавали.
И получаването на данни от Logs API с помощта на заявки в Postman не е много удобен начин. Ако искате да правите тези качвания през цялото време, да съхранявате всичко у дома и периодично да го анализирате, най-добрият вариант е да добавите данни към базата данни на ClickHouse. За щастие, Yandex вече е разработил лесен за използване Python скрипт за интегриране на Logs API с ClickHouse. Разбира се, това е по-трудно, ще трябва да вдигнете ClickHouse, да научите как да изпълнявате скриптове в Python и дори по-добре не с химикалки, а по график, но,Повярвайте ми, всичко това е много по-интересно и отваря куп нови възможности!