网站流量日志分析 —数据采集—页面埋点 JavaScript 收集数据|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习网站流量日志分析—数据采集—页面埋点 JavaScript 收集数据

开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第一阶段)网站流量日志分析—数据采集—页面埋点 JavaScript 收集数据】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/693/detail/12169


网站流量日志分析—数据采集—页面埋点 JavaScript 收集数据


内容简介

一、页面埋点 js 自定义收集

二、主流电商网站埋点收集

三、小结


一、页面埋点 js 自定义收集

如果要想更加精准的准确的知道用户在页面上的行为呢?

就需要通过某种技术手段来去捕捉用户在页面上的行为,那么,这时候我们自然想到在页面上最得天独厚的技术是我们的 JavaScript 技术,因为在我们现实当中很多内置的js事件。

可以想象到鼠标点击事件,鼠标悬屏事件,焦点离开事件等等,那么这个时候我们进行这一个技术就可以产生我们所谓的埋点收集。那么什么叫埋点呢?通俗的话概括来说,就是说在我们需要收集的页面上,我们预先的写上 js 代码,相当于绑定了事件,那么当用户的行为满足这个事件时,就会触发 js 的执行,从而进行相关数据的收集。

示例:

给 nginx.org 链接绑定一个点击事件,用户只要点击这个链接,这个事件就会触发,开始统计,点击一次,统计一次,这样就能精准的知道用户的行为。

image.png

埋点收集的核心概括为在页面预先加入 js 代码,触发用户的行为进行数据的收集。

自定义采集用户行为数据,通过在页面嵌入自定义的 javascript 代码来获取用户的访问行为(比如鼠标悬停的位置,点击的页面组件等),然后通过 ajax 请求到后台记录日志,这种方式所能采集的信息会更加全面。

在实际操作中,有以下几个方面的数据可以自定义的采集

系统特征:比如所采用的操作系统、浏览器、域名和访问速度等。

访问特征:包括点击的 URL.所点击的“页面标签<a>”及标签的属性等。

来源特征:包括来访 URL,来访 IP 等。

产品特征:包括所访问的产品编号、产品类别、产品颜色、产品价格、产品利润、产品数量和特价等级等。

以某电商网站为例,当用户点击相关产品页面时,其自定义采集系统就会收集相关的行为数据,发到后端的服务器,收集的数据日志格式如下。

image.png

埋点 javascript 收集总结:

目标:不以影响用户的正常浏览体验作为标准,数据采集分析锦上添花。

何为埋点:在待采集的页面上,预先置入一段 javascript 代码,当用户的某种行为满足 javascript 执行条件,触发javascript 的执行,在执行的过程中进行数据的采集工作。


二、主流电商网站埋点收集

我们正常的去访问网站非常的方便,那么这背后隐含出现什么呢?就是它到底有没有收集数据,对于我们用户来说,基本上是不知晓的。其实它在搜集,但是为什么看不到呢?大家想一下,我们搜集用户的行为数据的目的是为了什么,为了更好的去分析用户的行为,让他付费,那么你的搜集数据行为影响用户的正常购物流程体验,那么这时候是一种得不偿失的操作,不仅不能够让用户沉淀下来,反而用户离开,那这时候数据会丧失了我们整个项目分析的目标的一个本质,造成一个南辕北辙的结果。

所以我们要想去制定收集用户的源数据,一定不能够什么影响用户的正常购物流程体验。

京东:按 F12,打开开发模式,点击商品进入开发模式可以看到数据被收集。

点击一个商品产生了四个请求,其中三个图片和一段数据

image.png

标准 URL 协议的组成:

协议://主机:端口/资源路径?k1=v1&k2=v2 ,端口不写通常表示80端口,参数以 kv 形式存在。

image.png

如图,我们分析图片的请求,https 是请求的协议,mercury.jd.com 是主机,端口默认80, log.gif 是资源路径,请求图片后面的参数都是kv形式,下面用URL解码工具工具进行分析。

复制至工具解码后:

image.png

得出:

这些参数都是采集数据拼接的参数,其中很多指标是京东业务定义的,京东能明白定义。以上数据相比我们日志自带的功能,它能收集的数据行为更多。

我们发现我们去访问网站,它都是去请求图片,可知 http 协议是一个有来有回的协议,我们请求图片它则响应图片,想得知图片样式,可点击请求查看。

image.png

点击图片会发现图片很黑,并不是图片没有,而是图片很小,是1*1像素的图片,所以图片不是重点,请求图片的同时采集的数据才是重要的。

image.png

要想更加准确,精准的去收集用户在页面上的行为数据,必须通过使用前端技术 js 技术,在页面上埋点实现。


三、小结

1.埋点收集的好处是可以根据业务需求定制化收集的属性信息,在不影响用户浏览体验的情况下进行更多数据的收集。

2.在页面上预先置入一段 js 代码,当你的行为触发 js 代码执行时,js 就会开展数据的收集工作。

其中两个核心概念为预先埋入代码和行为触发,两者满足后相当于我们已在页面上埋入,只要用户点击就会触发,数据就会被收集。

用户的点击,悬停,双击都是在收集,不管怎么收集,只要我们写好事件,就可以收集各种我们所需要的数据。

以上就是我们的第二种方式通过页面埋点 js 代码来自定义收集我们的数据,这种方式也是从无到有的数据采集方式。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
20天前
|
人工智能 运维 监控
一招高效解析 Access Log,轻松应对泼天流量
一招高效解析 Access Log,轻松应对泼天流量
|
2月前
|
人工智能 JavaScript 前端开发
一段 JavaScript 代码,集成网站AI语音助手
根据本教程,只需通过白屏化的界面操作,即可快速构建一个专属的AI智能体。
|
4月前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
241 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
4月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。
|
5月前
|
JavaScript 前端开发 UED
网站内容禁止复制的js代码
【10月更文挑战第2天】
|
5月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
SQL 监控
日志服务数据加工最佳实践: 从RDS-MySQL拉取数据做富化
本篇覆盖日志服务数据加工最佳实践: 从RDS-MySQL拉取数据做富化的各种场景, 包括定期刷新拉取所有, 拉取部分数据, 拉取后再过滤数据, 调整返回表格结构等
1881 0
|
1月前
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
32 5
图解MySQL【日志】——Redo Log
|
4月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
1315 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
3月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。

热门文章

最新文章