#!/usr/bin/python import csv import datetime import email import getopt import os import sys import time #from imaplib import * #import pyGAPI # Sample usage: # ./search_queries.py --passfile=[FILENAME] \ # --username=[USERNAME] \ # --startdate=[YYYY-MM-DD] \ # --enddate=[YYYY-MM-DD] \ # --outfile=[FILENAME] EMAIL_SUBJECT = 'Analytics asirap.net' ANALYTICS_PASS = "" ANALYTICS_USER = "" OUTFILE = "" # Default date range is (Yesterday, Today) STARTDATE = time.strftime("%Y-%m-%d", time.localtime(time.time() - 60*60*24)) ENDDATE = time.strftime("%Y-%m-%d") # Retrieve username and password to authenticate to Analytics try: opts, args = getopt.getopt(sys.argv[1:], 'p:u:h:o', ["passfile=", "username=", "host=", "outfile=", "startdate=", "enddate="]) except getopt.GetoptError, err: print str(err) sys.exit(2) for o, a in opts: if o == "--passfile": f = open(os.path.expanduser(a)) ANALYTICS_PASS = f.read().strip() f.close() elif o == "--username": ANALYTICS_USER = a elif o == "--outfile": OUTFILE = a elif o == "--startdate": STARTDATE = a elif o == "--enddate": ENDDATE = a else: assert False, "Unknown option" (start_year, start_month, start_day) = STARTDATE.split('-') (end_year, end_month, end_day) = ENDDATE.split('-') #connector = pyGAPI.pyGAPI(ANALYTICS_USER, ANALYTICS_PASS, 2787708) #connector.download_report('KeywordsReport', (datetime.date(int(start_year), int(start_month), int(start_day)), datetime.date(int(end_year), int(end_month), int(end_day))), limit=500) https://www.google.com/analytics/feeds/data?ids=ga%3A2787708&dimensions=ga%3Akeyword&metrics=ga%3Avisits&start-date=2009-07-01&end-date=2009-08-01&max-results=1000 analytics_keywords = connector.csv() date = time.strftime("%Y-%m-%d") # Create a CSV reader from our CSV string. reader = csv.reader(analytics_keywords.split(os.linesep)) # Do whatever ghetto formatting you want here. f = open(OUTFILE, 'w') for r in reader: if r[0] == 'Keyword': continue f.write("%s... %s
" % (r[0], r[1]))