Как импортировать таблицу в яндекс таблицу
Перейти к содержимому

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

  • автор:

Как перенести онлайн-документ из сервиса Google в аналог «Яндекса»

Если вы создаёте, редактируете и храните важные тексты, таблицы и презентации онлайн, то, возможно, делаете это с помощью удобных Google Документов. На случай, если этот сервис станет недоступным, хорошо бы иметь возможность работы в аналогичном сервисе. Например, от «Яндекса». Скопируйте туда важные файлы, а мы подскажем, как.

Наша инструкция — для ПК: на нём удобнее и работать с документами, и управлять ими. Однако при желании схожие шаги можно совершить и с помощью смартфона. Итак, зайдите под своим аккаунтом в Google Диск. Там вы увидите список всех файлов, с которыми работаете.

Найдите нужный файл. Если таких несколько, выделите их. Нажмите правую кнопку мыши на нужном файле или выделенной группе и выберите команду «Скачать».

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

Теперь под своим аккаунтом зайдите «Яндекс.Документы». Если вы храните там какие-то файлы, то увидите их список, а также сможете загрузить новые — с помощью кнопки в правом верхнем углу.

Выберите на своём ПК файлы, которые вы ранее выгрузили из сервиса Google, и подтвердите выбор. «Яндекс» спросит, в какую папку облака их сохранить. Определившись с этим, нажмите кнопку «Загрузить».

Как в Яндекс.Метрике импортировать данные отчетов из таблиц и графиков в Excel

В этой статье мы рассмотрим детально процесс выгрузки данных из отчетов Яндекс.Метрика в отдельный документ с разбивкой данных по дням, неделям и месяцам.

Например, стандартная функция экспорта в Метрике, позволяет выгружать:

1. Данные из графика. Выгружаются в документ параметры и показатели на основе которых формируется график отчета за выбранные период.

Данные в графике

2. Данные из таблицы. В документ переносится данные из таблицы отчета по выделенным полям с сохранением показателей и метрик.

Данные в таблице

Давайте разберем на примере все возможности выгрузки данных в .XLSX и .CSV.

Решения

Предположим, нам нужно выгрузить данные по трафику из поисковых систем Яндекс и Google с разбивкой по месяцам за весь последний год.

Как это реализовать?

Стандартными отчетами в интерфейсе Метрики получить такие данные не получиться.

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

Данные из графика в сплывающем окне

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

1. Переходим в нужный отчёт и указываем временной интервал;
2. Далее выбираем вывод данных по месяцам;

Настройка вывода данных в отчете

3. Указываем галочками в таблице ниже требуемые параметры, а напротив ненужных полей — снимаем галочки. В нашем примере отмечаем только поисковые системы Яндекс и Google;

Данные по поисковым системам Яндекс и Google

4. Переходим в правый верхний угол отчёта и выбираем выгрузку Данные графика. Файл сформируется за несколько секунд и будет сохранен на ваш компьютер.

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

Выгрузка данных по трафику в файл по месяцам

Как видите, в столбце Период указаны месяца, а в двух других столбцах количество переходов из каждой поисковой системы.

Однако, Яндекс.Метрика позволяет выгружать данные не только из графика, но и из таблицы.

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

Импорт данных из таблицы

Важно! Отчёт можно с лёгкостью изменить, поменяв в нем группировки, добавив дополнительные метрики, настроить детализацию по дням или неделям и выгрузить показатели за любой другой период по другим параметрам.

Поздравляю! Теперь с этими данными удобно работать: строить на их основе графики и диаграммы, составлять сводные таблицы и отчёты, добавлять в презентацию и пересылать клиентам!

Остались вопросы?

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

Что важного в диджитал на этой неделе?

Каждую субботу я отправляю письмо с новостями, ссылками на исследования и статьи, чтобы вы не пропустили ничего важного в интернет-маркетинге за неделю.

Статьи по теме:

  • Почему разработку проекта следует доверить удаленной команде
  • Как настроить отслеживание загрузки .PDF документов в Google Tag Manager
  • Подсказки в плеере и Визуализация визитов с мобильных устройств: Яндекс.Метрика представила обновленный Вебвизор 2.0
  • Средние показатели по рынку: Как работают новые отчеты Метрики
  • Как отслеживать клики по кнопке с помощью Google Tag Manager

Автор */ Константин Булгаков —> Опубликовано 02/06/2019 11/12/2022 Рубрики Материалы

4.2.3. Импорт и экспорт

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

Загрузить (импортировать) закладки можно несколькими способами. Щелкните на странице закладок на ссылке Импорт. Откроется новое окно, в котором будет предложено несколько вариантов импорта.

Если вы работаете в браузере Internet Explorer, достаточно отметить в качестве источника для импорта флажок у названия этого браузера. Одно плохо — если у вас Windows XP SP2, то этот способ работать не будет. В остальных случаях после нажатия кнопки Импортировать все ссылки из списка Избранное (Favorites) попадут в каталог закладок. Предварительно вы можете выбрать одну из существующих папок либо создать новую, куда и будут помещены импортируемые ссылки.

С браузером FireFox такой способ не пройдет. Здесь придется действовать поэтапно. На первом этапе сохраните свои закладки в виде файла, а затем поставьте флажок Файл с закладками и выберите его на диске.

А можно импортировать ссылки со страницы, адрес которой вы знаете. Введите в поле ввода этот URL и нажмите кнопку Импортировать. Появится список загружаемых ссылок с флажками возле каждой из них. Отметьте нужные, и они попадут в список ваших закладок.

Обратная задача выполняется еще проще. Перейдите в раздел Экспорт. Если вы работаете в браузере Internet Explorer, после нажатия кнопки Экспортировать все закладки будут помещены в список Избранное (Favorites). Для других браузеров закладки будут сохранены в виде файла.

Данный текст является ознакомительным фрагментом.

Продолжение на ЛитРес

Читайте также

Импорт

Импорт Начнем работу с загрузки уже имеющихся у вас документов. Поддерживаются обычные текстовые файлы, формат HTML, а также Microsoft Word (.doc и формата Word 2007.docx), Rich Text (.rtf), OpenDocument Text (.odt) и StarOffice (.sxw). Просто нажмите кнопку «Загрузить» на главном экране и выберите на своем

Экспорт

Экспорт Экспорт Таблиц в различные форматы файлов пригодится в случае необходимости показать данные другу, у которого нет Интернета, сохранить их на домашнем компьютере «на всякий пожарный», отправить таблицу по электронной почте… да мало ли для чего еще! Таблицы

Экспорт

Экспорт На данный момент автономная работа над презентациями недоступна, поскольку технология Gears сервисом пока (но только пока!) не поддерживается. А жаль – опция показа слайдов ой как пригодилась бы, к примеру, менеджерам по продажам, отправляющимся в далекий поселок

Импорт

Импорт Сомневаюсь, что вы будете пользоваться возможностью импорта презентаций часто – как правило, большинство из них имеют довольно короткий век (хотя в моей коллекции есть пара-тройка шедевров из далекого 97-го…). Но если вам потребуется вставить в создаваемое вами

Импорт

Импорт Для быстрой загрузки фотографий с цифровых камер Picasa предлагает воспользоваться функцией импорта. Достаточно подключить камеру к компьютеру, запустить программу и нажать кнопку «Импорт», расположенную над списком папок и альбомов. Программа самостоятельно

Глава 4 Импорт и экспорт данных

Глава 4 Импорт и экспорт данных Импорт данных и их связываниеЭкспорт данных из базы Access 2007Автоматизация импорта и экспортаРезюмеИзучая и используя различные программы для Windows, можно не раз столкнуться с такими понятиями, как импорт и экспорт данных. Под словом «импорт»

5.3. Импорт таблиц

5.3. Импорт таблиц Иногда может возникнуть необходимость импортировать в Word таблицу, созданную в другой программе, например некоторых других текстовых процессорах, а также файлы электронных таблиц Microsoft Excel и Lotus. При импортировании электронных таблиц функции и формулы,

9.4. Экспорт и импорт макросов

9.4. Экспорт и импорт макросов Часто бывает так, что внутренний макрос может оказаться полезным при работе на другом компьютере. В этом случае просто нужно экспортировать его во внешний. Для этого сделайте следующее.1. Откройте окно Макрос щелчком на кнопке Макросы на

Экспорт и импорт данных

Экспорт и импорт данных Как уже отмечалось выше, возможности Access 2007 предусматривают выполнение операций импорта и экспорта данных. Чтобы выполнить импорт данных, например, из таблицы Excel, откройте вкладку Внешние данные и в панели Импорт нажмите кнопку Excel. В результате

Импорт видео с DVD

Импорт видео с DVD Помимо получения видео с камеры, видеомагнитофона и других внешних источников, использования видео, записанного на жесткий диск компьютера (AVI– и DVD-файлы), Studio также поддерживает импорт видео (и звука, естественно) с незащищенных DVD и образов дисков,

Импорт мультимедиа

Импорт мультимедиа В Studio 11 помимо импорта с DVD возможен импорт видеофайлов и картинок с таких носителей, как компакт-диски, USB Flash-память и др. Новое средство импорта удобно тем, что может выполнять поиск по всему носителю и показывать его содержимое, а также то, что может

Импорт преобразований

Импорт преобразований Другим способом использования внешних модулей в XSLT является импорт преобразований, который обеспечивается элементом xsl:import. Импорт преобразований более сложен, чем их простое включение — последовательность импорта модулей может влиять на то, как

8.7. Команды Import (Импорт), Place (Поместить) и Export (Экспорт)

8.7. Команды Import (Импорт), Place (Поместить) и Export (Экспорт) Первая команда традиционно используется для получения изображений с устройств графического ввода, таких как сканеры, цифровые фотоаппараты, с входа некоторых видеокарт. Кроме того, с помощью команды Import (Импорт) можно

«Внутренний» экспорт

«Внутренний» экспорт Рассмотрим объявление классаindexingзамечание: «Ошибочное объявление (объяснение см. ниже)»class S6 featurex: S6my_routine is do . print (x.secret) . endfeature secret: INTEGERend — class S6Наличие в объявлении класса атрибута x типа S6 и вызова x.secret делает его собственным клиентом. Но такой

Импорт графики

Импорт графики Существуют два способа импортировать во Flash графику, созданную в другом графическом пакете. Рассмотрим их.Первый способ очень прост. Выбираем пункт Import to Stage подменю Import меню File или нажимаем комбинацию клавиш <Ctrl>+<R>. На экране появится стандартное

Экспорт

Экспорт Разобравшись с публикацией, перейдем к экспорту.Как мы помним, экспорт фильма или изображения Flash отличается от его публикации тем, что файл Flash просто преобразуется в другой, выбранный нами формат. Получившийся файл можно распространять как через Интернет

Получаем данные из «Яндекс.Метрики» в электронные таблицы и BI: пошаговая инструкция

Стандартный интерфейс «Яндекс.Метрики» позволяет анализировать данные о посетителях сайта и их поведении достаточно подробно. Тем не менее, для решения задач глубокой аналитики (про это я рассказывал здесь) стандартного функционала может оказаться недостаточно.

К тому же многим аналитикам привычнее и зачастую нужнее проводить аналитику в электронных таблицах (Excel, Google Sheet) или BI. Да, можно выгружать отчеты из «Метрики» сначала в Excel-файлы. Но на таком полуручном режиме оперативной и эффективной аналитики особо не построишь.

Меня зовут Андрей Устьянцев, я ведущий аналитик направления Big Data в Лиге Цифровой Экономики. В этой статье я пошагово распишу, как получать данные из «Яндекс.Метрики» в электронные таблицы (Excel, Google Sheet) и BI в автоматическом режиме.

Дисклеймер

Если используемый вами BI-инструмент позволяет писать пользовательские скрипты на Python для извлечения данных (например, PowerBI), смело используйте эту возможность и примеры кода, описанные в статье. Ну, и дальше можно не читать.

Если говорить про электронные таблицы (Excel, Google Sheet), то на момент написания этого материала готового интерфейса для подключения к «Яндекс.Метрике» не было, как и возможности исполнять код на Python внутри электронных таблиц для извлечения или вставки данных из «произвольных» источников.

А если для вас актуально получение данных из «Метрики» — читайте дальше. Поделюсь своим подходом, как я загружаю данные из «Яндекс.Метрики» в электронные таблицы и BI для глубокой Web-аналитики в своих проектах.

Создаем сервис доступа к данным «Яндекс.Метрики»

1. Создаем на виртуальном хостинге сайт на Python

Совет: не обязательно покупать свой собственный домен с «красивым» именем! Есть хостинг-провайдеры, которые предоставляют технические домены третьего уровня при аренде виртуального хостинга.

Для решения текущей задачи не обязательно иметь «красивый» домен второго уровня (типа «аналитика.рф»), вполне подойдет и домен с именем вида “analitika.techdomen.ru”). Пример как я это делаю в своих проектов — суть пошаговая инструкция — смотрите тут.

2. В качестве кода основного приложения сайта воспользуемся скриптом на Python для получения данных об источниках трафика на сайт по дням (код подробно описан здесь).

Рассмотрим подробнее код приложения сайта.

import requests def application(env, start_response): try: API_URL = 'https://api-metrika.yandex.ru/stat/v1/data/bytime.csv' API_token = 'y0_AgAAAAACO_AIAAk7QAUm2oFFORLi5yKWs6_H8gQAYmrU' params = < 'date1': '6daysAgo', 'date2': 'today', 'id': 779344, 'metrics': 'ym:s:visits,ym:s:users', 'dimensions': 'ym:s:TrafficSource', 'group' : 'day', 'filters' : "ym:s:isRobot=='No'", 'limit': 100 >r = requests.get(API_URL, params = params, headers=) content=r.text start_response('200 OK', [('Content-Type','text/html')]) return [content.encode('utf-8')] except Exception as S: content=str(S) start_response('200 OK', [('Content-Type','text/html')]) return [content.encode('utf-8')]

Строка 1 — подключаем библиотеку requests (если она не установлена, запускаем на виртуальном хостинге терминал и выполняем команду pip install requests).

Строка 3 — основная функция, которая исполняется при открытии сайта. Исполняемый код на Python необходимо размещать в теле этой функции. Уточню, что хостинг-провайдер, которым я пользуюсь, при создании сайта на Python сразу создает типовой файл-приложения с «базовым» Python-кодом, так что мне остается только внести свой код в функцию application.

Строки 5-19 — получаем данные из «Яндекс.Метрики» (подробно этот код разобран в статье).

Строка 21 — преобразуем полученный ответ от «Яндекс.Метрики» в строковый формат.

Строка 23 — сообщаем Web-серверу:

‘200 OK’ означает код ответа «200» (общепринятый код успешности исполнения запроса);

‘Content-Type’,’text/html’ означает, что возвращаемые данные — это текст.

Строка 24 — вернуть полученные от «Метрики» данные в виде текста.

Строки 25-29 — обработка ошибок, которые могут возникнуть при исполнении кода. При ошибке будет возвращен собственно текст возникшей ошибки.

Убедимся, что все работает корректно. Перейдем в браузер и введем в адресной строке адрес нашего сайта:

Вуаля — отображаются данные, полученные из «Яндекс.Метрики».

Загружаем данные «Яндекс.Метрики» в Excel

Если у вас Excel версии 2010, 2013

Сначала нужно дополнительно установить компонент PowerQuery.

На момент написания материала скачать и установить его можно было по ссылке с официального сайта.

После этого в Excel:

1. Выбираем вкладку «PowerQuery».

2. Затем — «Из Интернета».

3. Вводим адрес нашего сайта.

4. Жмем кнопку «Ок».

Если в правой части окна в предпросмотре у вас не отобразятся данные, а будет картинка по примеру как ниже, без паники!

Нажмите кнопку «Отмена», затем снова нажмите в панели инструментов кнопку «Из Интернета» и в адресной строке добавьте к адресу вашего сайта через слэш любой набор символов, обязательно заканчивающихся «.csv».

Примечание: внешне это выглядит как обращение не к всему сайту, а к конкретной странице (хотя мы еe и не создавали). Ниже поясню, как с этим быть.

В следующем окне в области предпросмотра должны отобразиться данные сразу в виде таблицы.

5. Нажмите кнопку «Загрузить».

Готово — данные из «Яндекс.Метрики» загружены в Excel.

Дальше — «обычная» работа с данными из внешних источников в Excel: преобразовывайте полученные данные в PowerQuery, стройте сводные таблицы, диаграммы, настраивайте дополнительные вычислительные показатели — полная свобода аналитического творчества.

Если у вас Excel версии 2016 и выше

Ничего специально доустанавливать не надо — PowerQuery уже включен в состав Excel. Разница лишь в интерфейсе панели инструментов.

Действовать дальше нужно так:

1. Открываем вкладку «Данные».

2. Жмем кнопку «Из интернета».

3. Вводим адрес сайта с «.csv».

Загружаем в BI-систему на примере PowerBI Desktop

В панели инструментов выбираем «Получить данные» (1 на скриншоте ниже), затем — «Интернет» (2 на скриншоте).

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

Загружаем в GoogleSheet

Используем функцию importdata(). Первый параметр — адрес нашего сайта или страницы (в кавычках), второй — разделитель столбцов (у нас это запятая).

Усовершенствуем сервис доступа к данным

Получаем разные данные из «Яндекс.Метрики»

Допишем код приложения сайта, чтобы можно было получать различные данные из «Метрики».

Определимся для себя, что при обращении к нашему сайту, например, к странице с именем «daily.csv» по URL-адресу вида «https://analitika.techdomen.ru/daily.csv» должны возвращаться данные об источниках трафика на сайт в динамике, как сейчас.

А при обращении к странице «prolist.csv» по URL-адресу вида «https://analitika.techdomen.ru/prolist.csv» должны возвращаться сводные данные для глубокой аналитики лендинга (технология, описанная в этой статье).

Рассмотрим код подробнее.

import requests API_token = 'y0_AgAAAAACO_AIAAk7FQAAAADd2oFFORLi5yKWs6_H8gQAYmrU' def daily(): API_URL = 'https://api-metrika.yandex.ru/stat/v1/data/bytime.csv' params = < 'date1': '6daysAgo', 'date2': 'today', 'id': 77344, 'metrics': 'ym:s:visits,ym:s:users', 'dimensions': 'ym:s:TrafficSource', 'group' : 'day', 'filters' : "ym:s:isRobot=='No'", 'limit': 1000 >r = requests.get(API_URL, params = params, headers=) t = r.text t.encode('utf-8') return t def prolist(): API_URL = 'https://api-metrika.yandex.ru/stat/v1/data.csv' params = < 'date1': '2023-02-01', 'date2': '2023-04-04', 'id': 779 44, 'metrics': 'ym:s:visits,ym:s:users', 'dimensions': 'ym:s:goal,ym:s:TrafficSource,ym:s:SourceEngine,ym:s:from,ym:s:deviceCategory', 'filters' : "ym:s:isRobot=='No'", 'limit': 1000 > r = requests.get(API_URL, params = params, headers=) t = r.text t.encode('utf-8') return t def application(env, start_response): try: if env['PATH_INFO'] == '/daily.csv': content=daily() elif env['PATH_INFO'] == '/prolist.csv': content=prolist() else: raise ValueError('Вызов неизвестного URL') start_response('200 OK', [('Content-Type','text/html')]) return [content.encode('utf-8')] except Exception as S: content=str(S) start_response('200 OK', [('Content-Type','text/html')]) return [content.encode('utf-8')]

Строка 3 — сохраним API-ключ для обращения к «Яндекс.Метрике» в переменную.

Строки 5-26 — функция daily(), которая будет возвращать данные «Метрики» об источниках трафика на сайт в динамике.

Строки 28-47 — функция prolist(), которая будет возвращать данные «Яндекс.Метрики» о достижении целей для формирования воронки пролиста лендинга или сайта.

Отмечу, что в строках 32 и 33 для примера указано, что необходимы данные за период с 01.02.2023 по 04.04.2023, но вы можете исправить на относительные даты. Кроме того, в строке 36 можно добавить дополнительные группировки, например UTM-метки. Подробнее о том, как сформировать запрос к API «Яндекс.Метрики», смотрите в материале.

Строка 49 — рассмотрим, что изменилось в коде приложения сайта (в функции application).

В качестве параметра эта функция принимает «env» — строка, точнее словарь, содержащая значения переменных окружения Web-сервера и параметры, с которыми произошло обращение к нашему сайту.

Строки 51-54 — анализируем значения в переменной окружения “PATH_INFO”, которая содержит имя страницы, к которой произошло обращение:

Строки 51-52 — если обращение к странице «daily.csv» — вызвать функцию daily() и вернуть результат этой функции (то есть данные «Яндекс.Метрики» об источниках трафика на сайт в динамике).

Строки 53-54 — если обращение к странице «prolist.csv» — вызвать функцию prolist() и вернуть данные о достижении целей «Яндекс.Метрики».

Логика, думаю, понятна. Таким образом можно писать пользовательские функции для извлечения нужных данных из «Метрики» и связывать их с именами страниц по аналогии.

Строки 54-56 — я называю «заглушкой» — это обработка ситуации, если кто-то обратится к странице вашего сайта, для которой нет «связанной» функции.

Важно! Теперь для получения данных в электронную таблицу или BI-систему необходимо обращаться не просто к сайту по адресу вида «https://analitika.techdomen.ru», а обязательно указывать страницу!

Так, для получения данных о достижениях целей «Яндекс.Метрики» в качестве URL-адреса источника данных необходимо будет обязательно указать адрес вида «https://analitika.techdomen.ru/prolist.csv».

Должны появиться выглядящие следующим образом данные:

Сделаем код более универсальным

Это нужно, чтобы получать данные из любого счетчика «Яндекс.Метрики» за любой период времени, не меняя код приложения сайта на Python.

Важно! Речь идет о получении доступа о посетителях сайтов только из счетчиков «Метрики», к которым у вас есть доступ и к которым открыт публичный доступ к статистике.

В рассматриваемых примерах кода зафиксированы («прибиты гвоздями») номер счетчика «Яндекс.Метрики» (id) и диапазон дат, за который извлекаются данные (date1, date2).

Усовершенствуем код — сделаем так, чтобы номер счетчика и диапазон дат передавались в виде параметров при обращении к сайту. Для получения данных надо будет указывать URL-адрес в виде «https://analitika.techdomen.ru/daily.csv?ids=XXXXXX&date_from=YYYYYY&date_to=ZZZZZZ», где:

“ids”, “date_from” и “date_to” — обозначения параметров;

“ХХХХ” — номер счетчика «Яндекс.Метрики»;

“YYYYYY” — дата, начиная с которой необходимо получить данные;

“ZZZZZZ” — дата, до которой необходимо выгрузить данные.

Обе даты необходимо передавать в виде точной даты (например, «2023-07-20» соответствует 20.07.2023) или обозначениями, «понятными» «Метрике». Например, «today» соответствует текущей дате, «6daysAgo» — 6 дней назад, считая от текущей даты. Подробно об обозначениях дат или периодов времени можете почитать здесь.

import requests from urllib.parse import parse_qsl API_token = 'y0_AgAAAAACO_AIk7FQAAAADd0kEPGUm2oFFOWs6_H8gQAYmrU' def daily(ids_p,date_from_p,date_to_p): API_URL = 'https://api-metrika.yandex.ru/stat/v1/data/bytime.csv' params = < 'date1': date_from_p, 'date2': date_to_p, 'id': ids_p, 'metrics': 'ym:s:visits,ym:s:users', 'dimensions': 'ym:s:TrafficSource', 'group' : 'day', 'filters' : "ym:s:isRobot=='No'", 'limit': 1000 >r = requests.get(API_URL, params = params, headers=) t = r.text t.encode('utf-8') return t def prolist(ids_p,date_from_p,date_to_p): API_URL = 'https://api-metrika.yandex.ru/stat/v1/data.csv' params = < 'date1': date_from_p, 'date2': date_to_p, 'id': ids_p, 'metrics': 'ym:s:visits,ym:s:users', 'dimensions': 'ym:s:goal,ym:s:TrafficSource,ym:s:SourceEngine,ym:s:from,ym:s:deviceCategory', 'filters' : "ym:s:isRobot=='No'", 'limit': 1000 > r = requests.get(API_URL, params = params, headers=) t = r.text t.encode('utf-8') return t def application(env, start_response): try: ids=-1 date_from='' date_to='' query_string=env['QUERY_STRING'] x=parse_qsl(query_string,encoding='utf-8') for y in x: if y[0] == 'ids': ids=y[1] if y[0] == 'date_from': date_from=y[1] if y[0] == 'date_to': date_to=y[1] if ids == -1: ids=77963 if date_from == '': date_from='6daysAgo' if date_to == '': date_to='today' if env['PATH_INFO'] == '/daily.csv': content=daily(ids,date_from,date_to) elif env['PATH_INFO'] == '/prolist.csv': content=prolist(ids,date_from,date_to) else: raise ValueError('Вызов неизвестного URL') start_response('200 OK', [('Content-Type','text/html')]) return [content.encode('utf-8')] except Exception as S: content=str(S) start_response('200 OK', [('Content-Type','text/html')]) return [content.encode('utf-8')]

Строка 2 — подключаем библиотеку parse_qsl для быстрой работы с параметрами, передаваемыми через URL-строку. Если она не установлена, запускаем на виртуальном хостинге терминал и выполняем команду pip install parse.

Строки 6 и 29 — укажем три параметра для каждой функции:

ids_p — номер счетчика «Яндекс.Метрики»;

date_from_p — дата, начиная с которой необходимо получить данные;

date_to_p — дата, до которой необходимо выгрузить данные.

В строках 11-13 и 33-35 вместо ранее фиксированных значений укажем соответствующие параметры функции.

В строках 52-54 создадим переменные, которым присвоим значения по-умолчанию (ниже прокомментирую, зачем).

Строка 56 — получаем строку параметров URL, полученную при обращении к нашему сайту.

Строка 58 — превратим строку параметров в словарь.

Строки 60-63 — перебираем в цикле все полученные параметры URL-строки и извлекаем:

ids — номер счетчика «Метрики»;

date_from — дата, начиная с которой необходимо получить данные;

date_to — дата, до которой необходимо выгрузить данные.

Строка 65 — проверяем, был ли передан номер счетчика в строке с параметрами. По сути это логический контроль. В приведенном примере кода, если в строке параметров не передан ids, считаем, что необходимы данные из счетчика с номером 77963. Это дополнительная полезность, позволяющая не указывать номер счетчика в URL-строке, если нужны данные всегда по одному и тому же счетчику.

Но вы можете дописать код: например, если в URL-строке нет параметра ids — «завершать код с ошибкой».

Строки 66-67 — аналогично проверяется, переданы ли параметры с какой по какую дату извлекать данные, и если не переданы — присваивать значения по умолчанию.

Таким образом можно получать данные, обращаясь по адресу вида https://site.techdomen.ru/daily.csv без всяких параметров — будут возвращаться данные счетчика 77963 за период «6 дней назад, считая от текущей даты, до текущей даты».

А можно с указанием параметров, например:

В таком случае будут возвращены данные счетчика 8766 за период с 01.01.2023 по 01.07.2023.

Полезные дополнения

В чем полезность такого подхода (создание сервиса доступа к данным в виде сайта на Python на виртуальном хостинге)

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

Получив по API данные «Яндекс.Метрики», вы можете предобработать их средствами Python любым нужным вам способом.

2. Имея единый источник данных, вы можете анализировать и визуализировать данные из «Яндекс.Метрики» в любой электронной таблице или BI-инструменте.

3. Вы можете делиться своими данными «Метрики», просто передавая ссылку на URL коллегам. При этом вы можете работать одновременно с одними и теми же данными.

4. Можно дописать Python-код и настроить cron на Web-сервере для онлайн-мониторинга и уведомления о значимых событиях на сайте (например, в Telegram-бот).

В чем недостатки

1. Понадобится компетенция «как создать сайт на Python на виртуальном хостинге».

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

Да и сама эта компетенция весьма полезна.

2. Виртуальный хостинг стоит денег.

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

175 рублей — это много или мало? Все, конечно, относительно… Для меня качественная и оперативная аналитика важнее.

_____________________________

Постарался раскрыть тему максимально наглядно и с уточнением всех нюансов. Надеюсь, материал оказался полезен, и читатели смогут усилить аналитику сайтов с использованием электронных таблиц и BI-систем. Если остались вопросы или уточнения — пишите в комментариях.

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

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