黑帽联盟

标题: 利用python来统计来自google的访问量 [打印本页]

作者: yun    时间: 2017-1-20 15:23
标题: 利用python来统计来自google的访问量
相信大部分站长圈的朋友都在使用Google Analytics(以下简称GA),并通过GA分析得出我们所需要的报表,如:访问次数、跳出率、自然流量、各种数据的占比等,当然我们知道可以在GA的信息中心和自定义报表中设置好一些我们常用的报表,方便浏览。但始终是web端浏览模式,一些数据难以很快速的做出统计,甚至自定义模版发送到指定邮箱。OK,HERE WE GO,MADE IT!

前期需求:
1. 一个Google帐号,并开通Google Analytics服务,最好里面有数据,这样方便测试;
2. 国内线路请寻找代理(Goagent、VPN等);
3. Python 2.7.x 环境及IDE(强烈推荐Editplus、Sublime TEXT);
4. Windows、Linux、Mac测试完全没问题;

首先我们要用到Google Analytics API,那么如何开通GA API服务,并完成Console配置,请看下图及解释:

登录GA系统,然后访问Google Console(https://code.google.com/apis/console/),会出现以下图提示:
201306242119483418.png

我们点击Create Project,创建一个新的项目。创建后的控制台会跳转到如下界面:
201306242121506231.png


随后我们选择Services,进入下图,并把Google Analytics API选项卡打开,注意:后面的Notes,每天5W次请求,基本足够用了。
201306242123069200.png


然后打开左侧边栏的API Access,我们创建一个,并得到以下资源信息:
201306242124048262.png


当我们再返回Overview的时候,应该是这样的图片,表示Analytics API已经开通:
201306242124198262.png


以上是GA API开通的环节,接下来用Python调用GA API来做个小演示:

首先在https://code.google.com/p/gdata-python-client/downloads/list 下载一个Gdata模块并安装(注:清理host文件,否则会出现404错误!),windows演示如下:
201306242132399356.png

设置path环境变量,如果已经设置或非windows用户不用设置,然后输入命令 python setup.py install进行安装,或者你也可以拷贝atom、gdata目录到lib/site-packages即可,推荐安装。
201306242132492950.png

安装模块成功后,就可以执行脚本,我这里有个例子的python脚本,大家可以根据自己想要的维度指标进行更改,经过多次测试数据是完全准确的。
(例如:ga:bounces、ga:bounces、ga:pagePath、ga:visits等,请根据自己的需求增删,官方说明:https://developers.google.com/an ... e/dimsmets?hl=zh-CN)

#-*- coding:utf-8 -*-
import gdata.analytics.client, atom
SOURCE_APP_NAME='xiaohei'
my_client=gdata.analytics.client.AnalyticsClient(source=SOURCE_APP_NAME)

my_client.client_login(
    'id',
    'pw',
    source=SOURCE_APP_NAME,
    service=my_client.auth_service,
    account_type='GOOGLE'
)


data_query=gdata.analytics.client.DataFeedQuery({
    'ids':'ga: PROFILEID',
    'dimensions':'ga:source',
    'metrics':'ga:pageviews',
    'start-date':'2017-1-20',
    'end-date':'2017-11-20',
    'prettyprint':'true'
    })
feed=my_client.GetDataFeed(data_query)
result=[(x.name,x.value) for x in feed.entry[0].metric]
#print result
for i in result:
print '浏览量:'+i[1]

201306242132584825.png


以上就是利用python调用GA数据的例子,大家请根据自己的需求来做完善,例如制作图表、发送指定邮箱等,如果感觉到速度很慢,可以使用Goagent、vpn、国外的VPS上运行。







欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5