Symfoware

Symfowareについての考察blog

Google アナリティクスの情報をPythonで取得する(gdata-python)

Webサイトのアクセス数監視に便利なGoogle Analytics。
定期的にアナリティクスで集計されたアクセス数などを監視したい。
毎回Webブラウザで確認するのは面倒なので、Pythonで自動化できないか調べてみました。


※2015/6/10追記

認証方法が強化され、この方法はもう使えません。

OAuth2を使用する方法はこちら。
Python OAuth2認証でGoogleアナリティクスの情報を取得する



Google Data APIs Python Client Library



調べてみると、いくつかライブラリがあるようですが、
Google Analyticsで集計した人気ページランキングをPythonから取得してみよう
こちらで紹介されているgdataというライブラリがお手軽そうでした。

Google Data APIs Python Client Library

これを使ってみることにします。



gdata-python-clientのインストール



Ubuntu 14.04にeasy_installでインストールしました。


$ sudo easy_install gdata



バージョン2.0.18がインストールされました。




サンプルプログラム



例として、このブログの2014年6月1日から2014年6月30日の情報を取得してみます。

428_01.png

アナリティクスでの表示は以下のとおりでした。

項目
セッション95,380
ユーザー72,350
ページビュー数127,626
ページ/セッション1.34
平均セッション時間00:01:29
直帰率81.82%
新規セッション率61.75%




いきなりですが、サンプルはこうなりました。


  1. # -*- coding:utf-8 -*-
  2. import gdata.analytics.client
  3. # ログイン情報
  4. # 普段Googleアナリティクスにログインするのに
  5. # 使用しているメールアドレス、パスワード
  6. email = "google.analytics@gmail.com"
  7. password = "P@ssw0rd"
  8. SOURCE = 'GData sample client-v2'
  9. client = gdata.analytics.client.AnalyticsClient(source=SOURCE)
  10. client.client_login(email, password, source=SOURCE, service=client.auth_service)
  11. # 取得したい情報をmetricsにカンマ区切りで指定
  12. metrics = 'ga:sessions' # セッション
  13. metrics += ',ga:users' # ユーザー
  14. metrics += ',ga:pageviews' # ページビュー数
  15. metrics += ',ga:pageviewsPerSession' # ページ/セッション
  16. metrics += ',ga:avgSessionDuration' # 平均セッション時間
  17. metrics += ',ga:bounceRate' # 直帰率
  18. metrics += ',ga:percentNewSessions' # 新規セッション率
  19. data_query = gdata.analytics.client.DataFeedQuery({
  20.     'ids':'ga:19407786', # テーブルID
  21.     'start-date': '2014-06-01', # 集計期間開始
  22.     'end-date': '2014-06-30', # 集計期間終了
  23.     'metrics': metrics
  24. })
  25. # データを取得し、内容を表示
  26. feed = client.GetDataFeed(data_query)
  27. for entry in feed.entry:
  28.     for item in entry.metric:
  29.         print item.name, item.value





実行してみると、ちゃんと狙った値が取得できているようです。
※平均セッション時間の単位は秒


$ python sample.py
ga:sessions 95380
ga:users 72350
ga:pageviews 127626
ga:pageviewsPerSession 1.3380792618997694
ga:avgSessionDuration 89.14410777940869
ga:bounceRate 81.81799119312225
ga:percentNewSessions 61.745648983015315





これからは簡単にプログラムの解説を。





テーブルIDとは



まずわからなかったのが、データ取得時に指定する
「ids(テーブルID)」

これ、何を指定すればよいかというと、Google アナリティクスの画面上部
「アナリティクス設定」 をクリック。
[ビュー] - [ビュー設定]をクリックします。

428_02.png

「レポートビュー設定」で表示される「ビューID」を指定すればOK。

428_03.png





metricsに指定するga:xxxって何



metricsに何を指定すればいいのかがわからない。

私は、こちらのサイトの「metrics」に表示される内容を参考にしました。
Google Analytics Query Explorer 2

428_04.png


とりあえず、現在わかった値は以下のとおりです。

項目
セッションga:sessions
ユーザーga:users
ページビュー数ga:pageviews
ページ/セッションga:pageviewsPerSession
平均セッション時間ga:avgSessionDuration
直帰率ga:bounceRate
新規セッション率ga:percentNewSessions


関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/07/20(日) 22:47:47|
  2. Python
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Debian 7 + nginx + php-fpmな環境を構築する | ホーム | MongoDB 2.6のmongodb.confを編集し、HTTP Interfaceを有効にする>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1428-439a5b8e
この記事にトラックバックする(FC2ブログユーザー)