Cyxapeff Blog

Google Analytics и Python

В dashboard админки моего блога показывается количество хитов, хостов и ещё кое-какая информация из статистики. А статистику ведёт гугл. Раньше я использовал pyGAPI и не особо парился. Но недавно оно сломалось, разбираться почему было лень, тем более что уже довольно давно у Google Analytics появился свой API. Вообще есть несколько python библиотек для работы с этим API, но мне больше всех понравилась python-degapi. Она основана на python-gdata и очень просто позволяет получать всё что надо.

Установка элементарна. Скачиваем tar архив или клонируем git репозиторий. Если в системе ещё нет python-gdata, делаем как написано на офф сайте и устанавливаем. У меня же в ubuntu пакет python-gdata уже был установлен, поэтому файлы из архива я скопировал прямо в директорию с установленным gdata.

Ну практика лучше тысячи слов, поэтому парочка примеров. Получаем список сайтов на аккаунте:

import gdata.analytics.service
client = gdata.analytics.service.AccountsService()
client.ClientLogin('cyxapeff@gmail.com', 'mypassword')
alist = client.GetAccountList()
for account in alist.entry:
    print account.title.text # выводим название сайта
    print account.profileId # его Id

Получаем число просмотров и посетителей с начала месяца (1234567 - как раз этот самый profileId):

import gdata.analytics.service
from datetime import date
client2 = gdata.analytics.service.AnalyticsDataService()
client2.ClientLogin('cyxapeff@gmail.com', 'mypassword')
data = client2.GetData('ga:1234567', dimensions='ga:month', metrics='ga:visits,ga:visitors',
            start_date=date.today().replace(day=1), end_date=date.today())
print data.entry[0].visits, data.entry[0].visitors

Есть очень удобные таблички с Dimensions и Metrics, так же есть возможность сортировать, фильтровать результаты и брать их срезы.

Enjoy!

Markdown syntax:

> цитата           *курсив*
> цитата           **жирный**

* список           1. список
* список           2. список
* список           3. список

отступ в 4 пробела:
    def some_code():
        return "code"
    print some_code()

[ссылка](http://example.com/)
Ваш ник:
E-mail:
или OpenID
Оставьте свой комментарий:
Получать уведомления о новых комментариях