所谓web,即使你我素未谋面,便知志趣相投;足不出户,亦知世界大。

01 — 什么是PV/UV

网站流量分析,是指在获得网站访问量基本数据的情况下对有关数据进行统计、分析,从中发现用户访问网站的规律,并将这些规律与网络营销策略等相结合,从而发现目前网络营销活动中可能存在的问题,并为进一步修正或重新制定网络营销策略提供依据。这是来自网络营销管理的角度来考虑的。

既然是流量分析,要分析就要有数据,这些数据来自哪里?这就涉及到常用的网站流量分析的指标:PV/UV。

1.什么是pv?

PV(page view),即页面浏览量,或点击量;通常是衡量一个网站的主要指标。

高手对pv的解释是,一个访问者在24小时(0点到24点)内到底看了你网站几个页面。这里需要强调:同 一个人浏览你网站同一个页面,不重复计算pv量,点100次也算1次。说白了,pv就是一个访问者打开了你的几个页面。

PV之于网站,就像收视率之于电视,从某种程度上已成为投资者衡量商业网站表现的最重要尺度。

2.什么是uv?

uv(unique visitor),指访问某个站点不同IP地址的数量。当然这是基于ip的统计解释。

在同一天内,uv只记录第一次进入网站的具有独立IP的访问者,在同一天内再次访问该网站则不计数。独立IP访问者提供了一定时间内不同用户数量的统计指标,而没有反应出网站的全面活动。

02 — 如何统计PV/UV

对pv/uv有了字面上的认识,那就可是使用一定的策略来收集这些数据,先来说说pv,pv既然是基于页面的,对于大多数网页来说,每一个页面都会有一个对应的地址(url),我们需要做的便是去检测这个页面地址的变化,只有当页面地址变化了,这个时候我们认为用户离开了当前页面,跳转到其他页面了。我们放上代码看看:

//监听页面变化

(function (window) {

// 如果浏览器原生支持该事件,则退出

var location = window.location,

oldURL = location.href,

oldHash = location.hash;

// 每隔100ms检测一下location.hash是否发生变化

setInterval(function () {

var newURL = location.href,

newHash = location.hash;

// 如果hash发生了变化,且绑定了处理函数...

if (newHash != oldHash) {

oldURL = newURL;

oldHash = newHash;

uploadUserData(4, null);

}

}, 500);

})(window);

然后当我们上传这些数据到后端的时候,我们需要去记录每一个页面地址所对应的ip,这样才能算出网站的pv数量。

我们继续来看如何收集uv,既然uv和用户ip有关,那么我们就需要去拿到访问者的ip地址。那问题来了,用户的ip地址从哪里获取呢?熟悉web的同学一下子就联想到http请求了。是的,我们的每一个客户端请求都会携带用户端的信息,这些信息都会在请求头里面。现在我们直接看项目实现:

function getClientIP(req) {

var ip = req.headers['x-forwarded-for'] ||

req.ip ||

req.connection.remoteAddress ||

req.socket.remoteAddress ||

req.connection.socket.remoteAddress || '';

if (ip.split(',').length > 0) {

ip = ip.split(',')[0]

}

return ip;

};

这是一个获取ip的帮助方法,入参便是请求上下文的request(nodejs)对象,然后我们就拿到了用户的ip。

03 — 项目实战

现在我们基础数据都有了,现在就可以对这些数据进行分类计算了,妈妈再也不用担心我的学习了,哈哈。说一千道一万,来点干货,直接看项目。

喜欢请点个赞呗

或者打赏一下

再或者……

哈哈,想法有点多了。

java pv uv_前端数据收集(pv/uv)相关推荐

  1. java统计 pv uv_统计网址的pv,uv(附带Spring定时器)

    之前做了一个统计商铺的PV,UV值 大体思路:每天将用户的访问信息放到明细表里,然后在第二天的凌晨将这些数据归总 PVUV表 4个字段:主键pk    用户IP(customer_ip)    访问时 ...

  2. 前端埋点pv,uv以及实现思路

    埋点就是在应用或系统中通过特定的流程收集一些信息,用来跟踪项目或系统使用的状况,后续用来进一步优化产品或是提供运营的数据支撑: 目前埋点实现方法可以分为三种类型: 手动埋点 在需要统计数据的地方插入代 ...

  3. Android的,iOS的,PHP的,大数据的,Java的,web前端的,C++,Python等干货分享

    这是一些学习资源,里面有Android的,iOS的,PHP的,大数据的,Java的,web前端的,C++,Python的-. 有的来源地址是在一个公众号的群.感谢群主的分享.有的是我以前收集的.在此我 ...

  4. MongoDB学习笔记(四)使用Java进行实时监控与数据收集(空间使用量、连接数)

    目录: MongoDB学习笔记(一)环境搭建与常用操作 MongoDB学习笔记(二)使用Java操作MongoDB MongoDB学习笔记(三)使用Spring Data操作MongoDB Mongo ...

  5. Java 8 (5) Stream 流 - 收集数据

    在前面已经使用过collect终端操作了,主要是用来把Stream中的所有元素结合成一个List,在本章中,你会发现collect是一个归约操作,就像reduce一样可以接受各种做法作为参数,将流中的 ...

  6. java电文_卫星导航电文数据收集方法与流程

    本发明涉及卫星导航技术领域,具体涉及一种卫星导航电文数据收集方法. 背景技术: A-GNSS(Assisted Global Navigation Satellite System,辅助全球导航卫星定 ...

  7. 前端模式 VD, 脏检查 MVVM ,数据收集 MVVM 所使用的场合

    VD 虚拟DOM 数据变化,先修改虚拟DOM层,然后通过虚拟DOM树的对比检查获取出最小的修改量进行对真实DOM树进行修改.虚拟DOM模式只是在DOM层的检查,所以初始渲染速度非常快.在细小修改的大量 ...

  8. 网站统计中的数据收集原理及实现

    网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析.百度统计和腾讯分析等等.所有这些统计分析工具的第一步都是网站访问数据的收集.目前主流的数据收集方式基本都是基于java ...

  9. 网站统计中的数据收集原理及实现(js埋点实现)

    网站统计中的数据收集原理及实现 网站统计 埋点 Web Openresty 网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析.百度统计和腾讯分析等等.所有这些统计分析工 ...

最新文章

  1. TensorFlow tfjs 0.10.3 发布
  2. go语言 rlock() defer runlock()_Go并发编程之美-读写锁
  3. POJ 2253 Frogger(最短路Floyd)题解
  4. php框架使用教程,php框架laravel excel包使用教程介绍
  5. java 内存泄漏问题_JAVA内存泄漏问题处理方法经验总结
  6. 第九讲 博弈论在机制设计中的应用练习题
  7. 程序员修炼之道 pdf_程序员修炼之道-注重实效
  8. 20阶乘matlab,matlab如何调用阶乘函数求阶乘的和
  9. java集成kettle教程(附示例代码)
  10. linux hd4000显卡驱动,AMD 即将放弃 Radeon HD2000/3000/4000 系列显卡的驱动支持
  11. python断言语句_Python断言assert的用法代码解析
  12. 关于使用 Connect-Busboy 实现文件上传 优化说明
  13. 通过字节码分析this关键字以及异常表的重要作用
  14. Kubernetes学习之污点
  15. 2018计算机二级html,2020年全国计算机二级Web程序设计考试大纲(2018年版)
  16. qq邮箱收信服务器imap,普通IMAP、POP邮箱的设置 教你使用iPhone邮件客户端管理QQ邮箱...
  17. 【python】turtle绘图几个超好看的颜色
  18. json vue 对象转数组_json 将对象转化成数组第二种方式
  19. The web application [] appears to have started a thread named [thread-0]
  20. CSS选择器完整参考手册

热门文章

  1. 几张“有趣”的简图带你理解面试题:String、StringBuffer、StringBuilder区别
  2. 【深度首发】死磕“2D转3D”的聚力维度,能否成为影视人工智能行业的独角兽?丨Xtecher 封面
  3. 隐私计算:数据脱敏、匿名化、假名化、差分隐私和同态加密
  4. 求数组排序后相邻数的最大差值
  5. 9个精品AI开源免费实战项目助你掌握AI工程师基本技能
  6. POJ 1608 Banal Tickets 笔记
  7. 三菱触摸屏GS2107以太网连接FX系列PLC
  8. 笔记本电脑拆机并更换固态硬盘的方法
  9. Envoy代理GRPC服务支持通过restful进行访问
  10. 河北大学计算机类信息安全专业就业前景,2018信息安全专业就业前景和就业方向分析...