需求场景


想要了解每天多少人访问了网站,多少个新增用户,地域分布,点击了哪些页面,停留了多久,等等。。。

国内用的最多的就是百度统计吧,傻瓜式的注册然后插一段代码到项目里就行了。

最近也在自己的博客里使用了百度统计,但是当想要获取这些数据时,看到官方文档,简直想骂人。网上也不是没有代码示例,但清一色的都是java代码,而官网给出的demo也是php,这是要逼死前端吗?


来吧,直接上代码:

1.  获取站点    https://api.baidu.com/json/tongji/v1/ReportService/getSiteList

const router = require('koa-router')()
const fetch = require('node-fetch'); router.get('/siteList', async (ctx, next) => {
let res = await fetch('https://api.baidu.com/json/tongji/v1/ReportService/getSiteList', {
method: 'POST',
body: JSON.stringify({
"header": {
"account_type": "1",
"username": "百度统计账号",
"password": "百度统计登录密码",
"token": "token",
}
})
}).then(res => {
return res.json();
}).then(res => {
ctx.body = {
code: 0,
flag: true,
rows: res.body.data[0].list,
obj: {},
total: 0
}
}).catch(e =>{
ctx.body = {
code: 0,
flag: false,
rows: [],
obj: {},
total: 0
}
})
}); module.exports = router

2. 获取站点数据    https://api.baidu.com/json/tongji/v1/ReportService/getData

const router = require('koa-router')()
const fetch = require('node-fetch'); router.get('/statistics', async (ctx, next) => {
let res = await fetch('https://api.baidu.com/json/tongji/v1/ReportService/getData', {
method: 'POST',
body: JSON.stringify({
"header": {
"account_type": "1",
"username": "百度统计账号",
"password": "百度统计登录密码",
"token": "token",
},
"body": {
"site_id": "12847821",
"method": "overview/getTimeTrendRpt",
"start_date": "20181128",
"end_date": "20251212",
"metrics": "pv_count,visitor_count,ip_count,avg_visit_time",
"gran": "day",
"max_results": "0"
}
})
}).then(res => {
return res.json();
}).then(res => {
ctx.body = {
code: 0,
flag: true,
rows: res.body.data[0].result,
obj: {},
total: 0
}
}).catch(e =>{
ctx.body = {
code: 0,
flag: false,
rows: [],
obj: {},
total: 0
}
})
}); module.exports = router

以上是基于 Koa2 的代码,不懂也没关系,主要是 绿色参数部分,这是官网文档没有写的,前端其它请求方式 ajax、axios、fetch 都可以参考。

百度统计api获取数据的更多相关文章

  1. Python获得百度统计API的数据并发送邮件

    Python获得百度统计API的数据并发送邮件 小工具  本来这么晚是不准备写博客的,当是想到了那个狗子绝对会在开学的时候跟我逼逼这个事情,所以,还是老老实实地写一下吧.   Baidu统计API的使 ...

  2. 百度地图API获取数据

    目前,大厂的服务范围越来越广,提供的数据信息也是比较全的,在生活服务,办公领域,人工智能等方面都全面覆盖,相对来说,他们的用户基数大,通过用户获取的信息也是巨大的.除了百度提供api,国内提供免费AP ...

  3. 百度统计API的使用

    百度统计API的使用 在搭建自己博客的时候,希望自己能有个日志系统,能够看到PV.UV等信息,同时自己也搭建了个ELK系统,可惜服务器配置太低(1GHZ+1G内存),根本运行不起来.只能使用第三方的日 ...

  4. HTML5调用百度地图API获取当前位置并直接导航目的地的方法

    <!DOCTYPE html> <html lang="zh-cmn-Hans">     <meta charset="UTF-8&quo ...

  5. 使用Vue.js和Axios从第三方API获取数据 — SitePoint

    更多的往往不是,建立你的JavaScript应用程序时,你会想把数据从远程源或消耗一个[ API ](https:/ /恩.维基百科.org /维基/ application_programming_ ...

  6. HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地

    <!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"&g ...

  7. Python 读取照片的信息:拍摄时间、拍摄设备、经纬度等,以及根据经纬度通过百度地图API获取位置

    通过第三方库exifread读取照片信息.exifread官网:https://pypi.org/project/ExifRead/ 一.安装exifreadpip install exifread ...

  8. 使用api获取数据————小程序

    使用api获取数据----小程序 onLoad: function (options) { //打开页面即执行. let that = this; wx.request({ //建立链接 url: ' ...

  9. C# WPF从RIOT API获取数据(RIOT代表作品《英雄联盟》)

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. C# WPF从RIOT API获取数据(RIOT代表作品<英雄联盟>) 阅读导航 ...

随机推荐

  1. 【转载】Centos系统采用NVM安装Node.js环境

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又 ...

  2. springbooot2 thymeleaf 配置以及加载资源文件。Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration)

    最近在学习springbooot2 和 thymeleaf 程序文件 application.properties文件配置: #thymeleaf spring.thymeleaf.prefix=cl ...

  3. java_自定义标签运行原理

    一.自定义标签运行原理: 二.文字说明 1.IE->web服务器 2.Web服务器->jsp 3.遇到自定义标签,首先实例化标签所对应的标签处理器类 4.调用setPageContext方 ...

  4. Python全栈开发之---输入输出与流程控制

    Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...

  5. Linux服务器配置

    配置ssh: 1. 查看22端口是否监听 netstat -antu | grep :22 2. 安装ssh服务 sudo apt-get install ssh 3. 再次查看22端口 安装apac ...

  6. idea项目git版本回退

    idea项目git版本回退 一.查询提交历史 项目上右键,点击Git,点击Show History 二.复制版本号 我这里有两个测试的版本,我的当前版本是[二],所以我选择[一],右键,选择Copy ...

  7. HashMap深度解析

    最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样.当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片 ...

  8. Grafan+Prometheus 监控 MySQL

    架构图 环境 IP 环境 需装软件 192.168.0.237 mysql-5.7.20 node_exporter-0.15.2.linux-amd64.tar.gz mysqld_exporter ...

  9. iphone手机投屏在哪里 手机无线投屏电脑

    Iphone是我们经常使用的一款手机,有时候经常需要将一些文件图片信息等投屏到电脑,那么iphone手机投屏在哪里?可以无线投屏到电脑吗?其实很简单,下面就分享下苹果手机投屏的具体方法给大家,希望对大 ...

  10. Python入门基础之条件判断、循环、dict和set

    Python之if语句 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现: age = 20 if age >= 18: print 'your age is ...