·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设问答 >> 页面标记法网站分析及数据捕获原理

页面标记法网站分析及数据捕获原理

作者:佚名      网站建设问答编辑:admin      更新时间:2022-07-23

【前言】网站分析如何获得数据,其实有很多种方法。例如利用服务器日志数据,或者是在客户端装一些监视软件。页面标记法网站分析获取数据的方法跟前二者都不一样,但一经出生,就艳惊四座,迅速成为主流方法。我的博客(http://www.chinawebanalytics.cn)实际上几乎所有的话题都是基于页面标记法的。今天的文章,带朋友们一起再次了解什么是页面标记法的网站分析,以及我们日常所读的Omniture Site Catalyst或是Google Analytics网站分析报告中的数据,都是怎么被捕获的。

因为在出差,所以能够写博客的时间减少了。这篇文章是我正在猛力撰写的关于网站分析基础知识的书中摘取的一段。希望这本书明年能够跟大家见面。

 

【正文】

谈到网站分析的数据捕获,大家应该先有一个预备知识,那就是页面标记法网站分析和日志法网站分析的根本原理是完全不同的。关于日志法网站分析的原理,请大家看这个帖子:服务器日志法网站分析的原理及优缺点。此前有朋友在微博上留言,认为AWStats,Omniture,WebTrends都是日志分析工具,只不过Omniture利用了ASP方式,它们没有不同。这个观点是完全的误解。实际上,这三个工具都各不相同。AWStats是日志分析工具,免费。WebTrends最初也是纯日志分析工具,但后来增加了Page Tagging(页面标记)的功能。而Omniture SiteCatalyst则一出生则是以Page Tagging为思路的工具,而且至今Omniture并无面向日志分析的工具。

因此,今天话题我们只谈页面标记法(Page Tagging)的网站分析获取数据的原理。我们从一个游戏说起。

什么是页面标记法

starcraft4大家都玩儿过暴雪公司的游戏StarCraft(星际争霸一代)吗?我可是这个游戏的狂热爱好者。虫族的女王有一个特殊的能力,把一个寄生虫(parasite)喷在敌人的某个行动单位的身上,这样这个行动单位走到哪里,他身边的情况都能被虫族看的一清二楚,成为一个非常忠诚的间谍。

或者,大家都去过银行,银行里放在四处的摄像头,把我们的一举一动其实都拍摄了下来,然后传递到储存装置中保存起来。

所以,不恰当的比喻,所谓的页面标记,就像是“喷给”页面的寄生虫,或者是在页面上安装的摄像头,把访问者在页面上的一举一动都记录下来,然后传递给相关的需要了解这个网站的组织或者个人。

下图表示了这个过程:

image

页面标记如同图中红色的一小块,实际上是一段可以被浏览器执行的JavaScript程序语句,放在页面的HTML源文件中。这样,当页面被下载到客户端的浏览器的时候,这段页面标记JavaScript程序就会被执行,如同星际争霸中的寄生虫上身,或是摄像头被打开。

页面标记的JavaScript代码被执行之后,就会如实的把访问者在页面上的互动访问行为不间断的发送给这个页面标记所对应的网站分析工具的服务器,这与摄像头把拍摄到的图像传送给图像存储服务器是完全一样的。网站分析工具服务器收到数据后,会进一步处理这些数据,并且把数据翻译成人们能够阅读和分析的图形、表格以及数据文件,然后呈现在一个漂亮的用户界面上。我们常用的Google Analytics就是这样一种数据收集方法。

可以看到,页面标记方法跟日志方法具有本质上的不同。

1、日志方法是把日志文件中的数据取出来加以分析;而页面标记则是需要人为的在页面中增加一个小的“间谍单位”,也就是说,需要依赖于一个第三方才能获取数据。

2、因为这个额外增加的小小“间谍单位”,页面标记方法需要修改页面的HTML源文件,而日志方法不需要。

3、日志方法是被动地等着你来处理数据,你不处理,数据就是一条条忠实而死板的记录;而页面标记法则是主动地发送数据,而且会自动把数据预处理好,等着你来分析。

讲到这儿要说点儿历史了。互联网的早期,网站的规模较小,结构也简单,日志方法独霸天下,但是互联网的发展太快了,网站的软硬件体系和逻辑架构很快变得越来越复杂,用日志方法需要克服的困难越来越多,实施起来的难度也成倍增加,人们需要找到一种更简单的实现方法。随着JavaScript的普及,SaaS(Software as a Service,软件即服务)的出现,页面标记方法应运而生,这个方法实施起来简单,而且再也不需要去跟海量的日志文件记录打交道,数据管理和处理的效率极大提升,很快成为众多站长的首选。正是因为存在诸如简单易行、数据可读性高、管理难度低等诸多优势,页面标记方法成为网站分析这门科学主流的数据获取方法,我的博客也完全聚焦于这种方法,而不会详细讨论日志方法。

兴趣阅读:监测代码和监测标签的区别

在进行网站分析的具体实践活动中,我们常常把两种不同的监测标记方法——监测代码(Tracking Code)和监测标签(Tracking Tag)混用。但实际上它们是不同的事物,我们如果能够把它们严格区分开,将有助于我们在沟通中进行更准确地沟通。

代码(Code)指能够执行的程序中的语句,因此监测代码是指为监测目的而编写的一段可执行的程序语句。最典型的监测代码就是我们在页面中添加的Google Analytics的JavaScript监测代码。

标签(Tag)指为辨识某个监测对象而添加的标识,这个标识不是程序语句,不能够被执行,但可以被程序识别用于判断监测对象的具体属性。例如这样一个URL:http://www.chinawebanalytics.cn/?utm_campaign=newbook&utm_source=tsinghua&utm_medium=press,“?utm_campaign=newbook&utm_source=tsinghua&utm_medium=press”就是一个标签。标签同样也可以是一段完整的URL。

简单讲,能执行的程序是监测代码,不能执行的是监测标签。