您好,欢迎来到达网官方网站           客户ID 密码   注册 忘记密码?
达网
全国服务热线  
达网学院 | 付款方式

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

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

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

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

  因此,今天话题我们只谈页面标记法(Page Tagging)的网站分析获取数据的原理。我们从一个游戏说起。
  兴趣阅读:监测代码和监测标签的区别

  在进行网站分析的具体实践活动中,我们常常把两种不同的监测标记方法——监测代码(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。

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

  页面标记方法是如何工作的

  我们已经了解了页面标记方法的基本原理,现在我们要细致学习页面标记是如何能够实现数据的收集、传递并最终呈现在我们面前的。了解这个过程,对于我们进行网站分析的具体监测实施很有帮助。

  什么是页面标记法

  

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


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

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

  下图表示了这个过程:

  



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

  

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


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

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

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

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

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

 第1步,页面监测代码被浏览器载入并执行

  页面标记方法能够正常工作的前提是要在网站中需要监测的每一个页面中都加入一段JavaScript的监测代码。当用户打开这个页面时,服务器(或者Cache)会响应用户的请求,然后把页面,连同监测代码一起传递给用户的浏览器。当用户的浏览器接收到监测代码,就会开始执行代码。

  第2步,执行完整的监测代码

  页面上的监测代码被执行后,并不能实现全部的监测功能,而是转而向它所对应的网站分析工具的服务器请求完整的监测代码。完整的监测代码语句量较大,因此被集合成一个.js文件存放在网页的外部。外部代码一旦收到页面监测代码的请求,也会传递给浏览器,并被浏览器执行。这样,完整的监测功能就能得以实现。

  以我自己的这个博客(CWA, 网站分析在中国, http://www.chinawebanalytics.cn)的GA监测为实例,在完整的监测代码执行过程中,会有几件事情发生:

  1. 探测客户端的各种属性,包括浏览器版本,操作系统版本,屏幕分辨率等等,并且记录下来页面访问具体发生的时间,以及访问的来源(Traffic Source)等等。

  2. 为这个用户的这个浏览器建立一个cookie。什么是cookie?请看这个帖子:捍卫Cookie——没有Cookie,我们什么都没有了,以及这个帖子:JavaScript和Cookie对GA的影响有多大?。如果不想看这两篇文章,没关系,简单说cookie的作用是把用户这一次访问这个网站的相关关键情况记录下来,当下次这个用户再浏览这个网站的时候,cookie中的记录就会作为新的浏览记录的参考,从而能够让网站分析工具判断这次访问是否是重复访问,访问者是不是新的访问者,以及很多其他的重要数据。cookie在页面标记监测方法中是必须的,也就是说,如果浏览器禁用了cookie,页面标记方法就不能发生作用。想知道Google Analytics的cookie设置,请看这个文章:网站分析度量、意义以及不为人所知的(2)。

  3. 如果之前已经为这个访问者的这个浏览器建立了cookie,那么监测代码会把旧的cookie数据中需要更新的部分重写,这样保证每次cookie都记录的是相应的访问行为的数据。

  第3步,传送数据给网站分析工具的服务器

  当监测代码收集了全部的信息,这个时候它会把相关的数据的传回给网站分析工具的服务器。传送的方式并不是直接把数据发去(即不是用post方法,如果你不了解HTTP协议中的post和get方法,这个括号中的内容可以略过不看),而是通过向网站分析工具服务器请求一个1×1像素的透明GIF图像来完成的(即仍然是用get方法,不懂同样请略过)。看起来有有点儿奇怪对吗?其实在发出这个1×1像素请求的时候,所有收集到的数据都作为这个请求的相关参数被一起发送给了分析工具的服务器,这样分析工具就能够获得并存储下来相关的数据。

  第4步,网站分析工具服务器记录数据

  网站分析工具服务器收到了数据之后,会把这些数据存放在一个大的数据文件中,这个数据文件的记录方式和我们前面讲到的日志文件(Log File)非常相似,因此,这里我们也就称它为Log File,不过区别在于,这里来的Log File装着的不是网站分析工具服务器自己的运行数据,而是被监测的网站的数据。

  这个Log File文件里面的每一个数据行(一条数据条目)都包含了某一个页面浏览(PageView)的很多信息,包括但不限于如下内容(以Google Analytics的Log File记录文件为例):

  l 页面访问发生的日期和时间;

  l 访问的页面的标题;

  l 访问者的来源(是从某个网站链接过来的,还是通过搜索引擎,还是通过直接访问等等);

  

Copyright 2006-2012 dw.net.cn 达网网络技术有限公司 版权所有
公司地址:宁波市大梁街118号世纪广场B座19楼1902室 [地图] 邮编:315000
中文域名:达网.cn  公司微博:weibo.com/dwnetwork  信产部备案号:浙ICP备09010049号
软件开发, 行业软件, 网站建设, 网站托管, 服务器技术  网站地图 RSS订阅