Google 웹 로그 분석 및 파이썬
-
06-07-2019 - |
문제
저는 Python에서 새롭고 GA 정보를 가져 와서 MySQL에 구문 분석하는 앱에 확장을 작성하려고합니다. 주제에 대한 뻔뻔스럽게 드문 양의 성적이 있습니다. Google 문서는 JS와 Java에 예제가있는 것 같습니다 ...
... 내 사용자가 Subauth를 사용하여 GA로 인증 할 수있는 시점에 도달했습니다. 해당 코드는 다음과 같습니다.
import gdata.service
import gdata.analytics
from django import http
from django import shortcuts
from django.shortcuts import render_to_response
def authorize(request):
next = 'http://localhost:8000/authconfirm'
scope = 'https://www.google.com/analytics/feeds'
secure = False # set secure=True to request secure AuthSub tokens
session = False
auth_sub_url = gdata.service.GenerateAuthSubRequestUrl(next, scope, secure=secure, session=session)
return http.HttpResponseRedirect(auth_sub_url)
따라서 다음 단계는 데이터를 얻습니다. 나는이 도서관을 발견했다 : (우선, UI는 불쾌하다) http://gdata-python-client.googlecode.com/svn/trunk/pydocs/gdata.analytics.html 그러나 탐색하기가 어렵다는 것을 알았습니다. gdata.analytics.analyticsdataentry.getDataentry () 여야하는 것 같습니다.
나는 올바른 방향을 밀고 싶다. 나는 Google이 작업 예제를 찾는 것을 지친 느낌이 든다고 생각합니다.
고맙습니다!!
편집 : 나는 더 멀어졌지만 내 문제는 여전히 해결되지 않았습니다. 아래 메소드는 데이터를 반환합니다. 그러나 나는 그것을 드릴링하는 방법을 모른다. 이 개체를 검사 할 수있는 방법이 있습니까?
def auth_confirm(request):
gdata_service = gdata.service.GDataService('iSample_acctSample_v1.0')
feedUri='https://www.google.com/analytics/feeds/accounts/default?max-results=50'
# request feed
feed = gdata.analytics.AnalyticsDataFeed(feedUri)
print str(feed)
해결책
아마도 이 게시물 도움이 될 수 있습니다. 아직 분석 특정 바인딩이없는 것 같습니다. 따라서 일반 GDATA와 함께 작업하고 있습니다.
다른 팁
나는 지금 1 년 넘게 GA를 사용해 왔으며 2009 년 4 월부터 Clint Ecker et al. 지금까지 잘 작동합니다.
어디서 얻을 수 있는가 : http://github.com/clintecker/python-googleanalytics.
일반적인 방법으로 설치하십시오.
사용하려면 : 먼저 API에 액세스 할 때마다 로그인 자격 증명을 수동으로 전달할 필요가 없도록 다음과 같은 구성 파일에 넣으십시오.
[Credentials]
google_account_email = youraccount@gmail.com
google_account_password = yourpassword
이 파일 '.pythongoogleanalytics'의 이름을 지정하여 홈 디렉토리에 넣으십시오.
대화식 프롬프트 유형에서 :
from googleanalytics import Connection
import datetime
connection = Connection() # pass in id & pw as strings **if** not in config file
account = connection.get_account(<*your GA profile ID goes here*>)
start_date = datetime.date(2009, 12, 01)
end_data = datetime.date(2009, 12, 13)
# account object does the work, specify what data you want w/
# 'metrics' & 'dimensions'; see 'USAGE.md' file for examples
account.get_data(start_date=start_date, end_date=end_date, metrics=['visits'])
'get_account'메소드는 파이썬을 반환합니다 목록 (위의 예에서는 변수 '계정'에 바인딩) (데이터가 포함 된).
앱 내에 3 개의 파일이 필요합니다. Client_Secrets.json, Analytics.dat 및 Google_auth.py.
앱 내에서 모듈 query.py를 만듭니다.
class Query(object):
def __init__(self, startdate, enddate, filter, metrics):
self.startdate = startdate.strftime('%Y-%m-%d')
self.enddate = enddate.strftime('%Y-%m-%d')
self.filter = "ga:medium=" + filter
self.metrics = metrics
예제 Models.py : #HAS 다음 함수입니다
import google_auth
service = googleauth.initialize_service()
def total_visit(self):
object = AnalyticsData.objects.get(utm_source=self.utm_source)
trial = Query(object.date.startdate, object.date.enddate, object.utm_source, ga:sessions")
result = service.data().ga().get(ids = 'ga:<your-profile-id>', start_date = trial.startdate, end_date = trial.enddate, filters= trial.filter, metrics = trial.metrics).execute()
total_visit = result.get('rows')
<yr save command, ColumnName.object.create(data=total_visit) goes here>