hello,大家好,我又来了
如果你是一名每日兢兢业业需要借助友盟平台进行数据统计的人,那么你肯定经历过需要同时导出七八张表的经历,我作为一名懒惰的数据分析,是绝对忍不了把时间都浪费在无脑点击上,所以花时间研究了友盟的open api接口。
如果去官网客服申请,还需填写申请后几个工作日的时间才能收到官方回复。基于以上背景,本次给大家分享如何用python获取友盟数据,将带你领略什、么、是、效率!~
好了废话不多说了,赶紧上车吧
PART1 获取前提
1、python须安装完毕(这个应该不用赘述,我用的是python3版本,若接下来介绍的代码有与2版本冲突,望自己解决)
2、须在python安装requests(负责处理请求、认证及返回结果)、pandas(处理数据并存储文档)包
3、须知道公司使用友盟平台的账号和密码
PART2 获取原理
requests是python实现的最简单易用的HTTP库,广泛应用于各类网页爬虫场景中;
1.客户机发送一个请求Request给服务器
2.服务器会返回一个响应Response
我们再将Response进行解析数据就可以啦
PART3 获取步骤
#各类包调用
import requests
import pandas as pd#定义获取token的函数,此处相当于获取一个密匙来进一步获取数据
def authorize(user, pasw):url = 'http://api.umeng.com/authorize'body = {'email': "%s"%(user), 'password': '%s'%(pasw)}response = requests.post(url, params = body)return response.json()['auth_token']
authorize('XXXXX', 'XXXX') #参数user代表友盟账号,pasw代表友盟密码,返回token,重要的密匙#定义获取全部APP的基本数据的函数
def base(auth_token):url = 'http://api.umeng.com/apps/base_data?auth_token=%s'%(auth_token)response = requests.get(url)return response.json()
base('XXXX')#参数auth_token是代表上面获取的token,返回当前app的基本数据,如今日活跃用户、昨日登录用户等#定义获取app列表的函数,此处可获取到每个app对应的appkey,也是一个重要的密匙,来进一步获取某个app的数据
def apps(auth_token):url = 'http://api.umeng.com/apps?&auth_token=%s'%(auth_token)response = requests.get(url)return response.json()
apps('XXXX')#参数auth_token是代表上面获取的token,返回当前公司的app列表#定义获取某个app任意日期的基本数据的函数
def base_data(appkey, date, auth_token):url = 'http://api.umeng.com/base_data?appkey=%s&date=%s&auth_token=%s'%(appkey,date,auth_token)response = requests.get(url)return response.json()
base_data('XXXX', 'XXXX-XX-XX', 'XXX')#参数appkey为上述apps获取的结果,date为选择日期的数据,格式为yyyy-mm-dd
注:以上数据获取的格式均为字典数据,若应用于数据统计,需要用Pandas包进行转换,本次先不详细叙述,有机会将修改回答~
PART4 总结
不会总结,溜了溜了。
本文纯手打,感觉写文章很心累,不接受任何转载,不接受任何批评,只接受赞扬。
我是那朵小花,一个最会写代码的运营人员,诚邀对本文内容感兴趣的伙伴们一起交流,以下是私人微信:
最后,特附上相关的资料链接:
友盟OpenAPI文档 - 阿里云yq.aliyun.com