Python 调用百度统计&移动统计API

Coding Alan 5年前 (2019-06-18) 8795次浏览 0个评论 扫描二维码

进入百度统计,点击管理 > 其他设置 > 数据导出服务,勾选协议并点击立即开通即可获取 Token

官方操作指南:https://tongji.baidu.com/open/api/more?p=tongjiapi_guide.tpl

Python 调用百度统计&移动统计API

 

在线调试工具:

https://tongji.baidu.com/api/debug/

获取站点列表

官方文档:https://tongji.baidu.com/open/api/more?p=tongjiapi_getSiteList.tpl

示例代码

站点报告数据

官方文档:https://tongji.baidu.com/open/api/more?p=tongjiapi_getData.tpl

示例代码

2023年6月15日更新,以上方法已无法使用,会报this token is discarded, please use oauth:

补充:对于PC的数据,另一种获取数据的方式是Open Api:

https://tongji.baidu.com/api/manual/Chapter2/openapi.html

需要创建应用并设置授权回调页,然后通过回调页获取初始的ACCESS_TOKEN和REFRESH_TOKEN,其中注意参数中的client_id实际为 API Key,不是应用的 id。回调页应该要进行设置,还有就是当前账号需要具有百度统计账号的权限。也可对比下方百度移动统计部分的总结。

在回调error_code为111时即表明ACCESS_TOKEN过期,需更新Token: http://openapi.baidu.com/oauth/2.0/token?grant_type=refresh_token&refresh_token={REFRESH_TOKEN}&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET},注意REFRESH_TOKEN也只能使用一次

2023年3月:百度上垃圾流量激增,虽然百度统计对关键词做了相应处理,但整体流量数据中并没有体现,所以需要手动减去关键词为(已屏蔽)的数据(相应接口为source/searchword/a),另需要区分移动端及PC 流量可使用clientDevice参数(值为 mobile及pc),注意不是所有接口都支持这一参数

百度移动统计

官方文档:https://mtj.baidu.com/static/userguide/book/api/overview.html

1、注册一个百度开发者账号并创建应用(工程)并绑定邮箱:http://developer.baidu.com/console#app/project,填写的回调地址如 https://www.baidu.com必须与后面步骤中调用的相同,就当前应用而言并不要求有特别的处理 URL,仅用于授权后的跳转;记录API Key和Secret Key:

Python 调用百度统计&移动统计API

2、进入百度移动统计后台并给对应邮箱授权

3、获取 Code:访问http://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope=basic&display=popup

CLIENT_ID:API Key和REDIRECT_URI:回调地址参见第1步

4、获取 access_token和refresh_token:访问:http://openapi.baidu.com/oauth/2.0/token?grant_type=authorization_code&code={CODE}&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}&redirect_uri={REDIRECT_URI}

CODE 见第3步,CLIENT_ID:API Key、CLIENT_SECRET:Secret Key和REDIRECT_URI:回调地址见第1步

测试地址:https://openapi.baidu.com/rest/2.0/mtj/svc/config/getAppList?access_token={ACCESS_TOKEN}(access_token来自第4步)

通过以上地址可获取到账号中所存在的 APP 及 AppKey(AppKey 也可通过设置>应用信息查看)

5、更新 Token:http://openapi.baidu.com/oauth/2.0/token?grant_type=refresh_token&refresh_token={REFRESH_TOKEN}&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}

REFRESH_TOKEN来自第4步,API Key、CLIENT_SECRET:Secret Key见第1步

6、查看配额及已调用次数

https://openapi.baidu.com/rest/2.0/mtj/svc/config/getQuotaByUser?access_token={ACCESS_TOKEN}

7、调用相应接口:https://openapi.baidu.com/rest/2.0/mtj/svc/app/getDataByKey?access_token=[ACCESS_TOKEN]&key=[APPKEY]&method=newuser/a&start-date=20171107000000&end-date=20171108232359&metrics=new_user_count,user_count

APPKEY为第4步示例中所获取或通过百度移动统计后台设置>应用信息查看

Python 调用百度统计&移动统计API

示例代码(其中 access_token 是有有效期的且接口调用存在次数限制,可考虑存放到数据库中,就接口层面而言,此处使用 get 和 post 方法均可获取数据):

 

喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址