SEO需要经常看网站各种数据,如Visits,Keywords,landing page等,但总要登录Google Analytics(之后简称GA)查看,而且无法与其他系统数据结合。这时,就需要GA API了。GA API自动获取各种数据,不仅可以推送自定义数据,还能与其他的数据相结合。
为了更快获取周报数据,之前用Django做了自动化系统,采集了爱站和百度搜索结果页的数据,这次就加入了GA的各项数据。
1. 系统环境
系统:Ubuntu 13.10
语言:Python 2.7
操作软件:对VPS操作,并非桌面版
2. Google Developers Project创建
要创建Google Developers Project,使用project的API。
- 访问Google Developers Project,点击上面的“Create Project”按钮,输入PROJECT NAME并创建,如下图:
- 访问左侧边栏“APIs & auth” >> "APIs"。在右侧界面中找到“Analytics API”,使其status为ON。
- 访问左侧边栏“APIs & auth” >> "Consent screen"。在右侧界面中设置“EMAIL ADDRESS”和“PRODUCT NAME”。(避免出现“Error: invalid_client no application name”的错误,最后通过StactOverflow的帖子搞定)
- 访问左侧边栏“APIs & auth” >> "Credentials"。点击右侧“Create new Client ID”,并做如下设置:
- 之后就可以得到“CLIENT ID”,“CLIENT SECRET”,以及“REDIRECT URIS”。这些是认证信息,之后会用来做认证账户使用。
3. 环境配置
运行GA API需要安装Google APIs Client Library for Python
库,我直接使用了pip
方式安装:
$ pip install --upgrade google-api-python-client
当然也可使用easy_install
:
$ easy_install --upgrade google-api-python-client
注:我在初次运行时遇到了gflags library
缺失的报错,最后通过pip --upgrade python-gflags
的方式解决。
4. API文件下载
访问google-api-python-client的Source页面,下载client_secrets.json
和hello_analytics_api_v3.py
两个文档。这两个文件的作用是这样的:
client_secrets.json
存储验证证书。你需要替换掉其中client_id
,client_secret
,redirect_uris
这3个字段;hello_analytics_api_v3.py
是简单示例文件。可运行获得2012-01-01至2012-01-15的前25个搜索关键词。这个示例文件调用了GA中Management API
和Core Reporting API
这2个API。
你可以修改hello_analytics_api_v3.py
来自定义数据:
- 要修改其中
get_top_keywords
函数来设置GA的时间范围,数据纬度,细分,搜索,过滤等功能; - 关于数据纬度,常用的有ga:bounces、ga:pagePath、ga:visits等,更多可参见官方文档Dimensions & Metrics Reference。
5. 浏览器端验证
可能是因为我设置了Google账户二次验证,当运行hello_analytics_api_v3.py
时VPS端弹出了浏览器端验证。
由于是Debian的文字浏览器,摸索了一段时间才会使用。最后因为浏览器无法运行JavaScript中断好久,直到看到服务器端提示,在运行命令后加了参数--noauth_local_webserver
。之后把地址复制下来在本地电脑上打开,才最终验证成功。
需要注意的是,只要验证成功,VPS上就会有验证文件,之后可以直接获取数据。
最后获取成功的图片:
备注
- 为了快速实现功能,本文采取了讨巧的方式,直接使用了GA API的示例文件,如有精力,建议阅读下官方指南;
- 虽说已经通过GA API调用了数据,但仍是入门级文章,如需深入,建议阅读GA API官方文档,并不断练习。
参考文档
- 【英文资料】极其建议读一下Tutorial: Hello Analytics API官方文档:https://developers.google.com/analytics/solutions/articles/hello-analytics-api?hl=zh-CN
- 【英文资料】Google APIs Client Library for Python安装文档:https://developers.google.com/api-client-library/python/start/installation
- 【中文资料】小黑的《Python and Google Analytics API》:http://itseo.net/direction/show-139.html
- 【中文资料】STEPHEN的《如何通过google analytics api获取数据零基础 python版》:http://www.stephensem.com/archives/318