99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀網(wǎng)站分析數(shù)據(jù)收集方式詳解
網(wǎng)站分析數(shù)據(jù)收集方式詳解
2016-02-28
收藏

網(wǎng)站分析數(shù)據(jù)收集方式詳解

回顧網(wǎng)站數(shù)據(jù)分析歷史,從“您是第***位來(lái)訪用戶”到現(xiàn)在百家齊放的專業(yè)工具提供商,網(wǎng)站分析已經(jīng)逐漸發(fā)展衍化成一門科學(xué)。但面對(duì)形態(tài)各異的分析數(shù)據(jù),很多人仍然困惑于數(shù)據(jù)的來(lái)源,了解數(shù)據(jù)的收集原理,也許對(duì)你解決這些困惑有所幫助。

       眼下網(wǎng)站分析數(shù)據(jù)主要有三種收集方式:Web日志JavaScript標(biāo)記包嗅探器。

1. Web日志

       下圖是Web日志收集數(shù)據(jù)過(guò)程的示意圖。

Web日志收集數(shù)據(jù)過(guò)程的示意圖

       從上圖可以看出網(wǎng)站分析數(shù)據(jù)的收集從網(wǎng)站訪問(wèn)者輸入U(xiǎn)RL向網(wǎng)站服務(wù)器發(fā)出http請(qǐng)求就開(kāi)始了。網(wǎng)站服務(wù)器接收到請(qǐng)求后會(huì)在自己的Log文件中追加一條記錄,記錄內(nèi)容包括:遠(yuǎn)程主機(jī)名(或者是IP地址)、登錄名、登錄全名、發(fā)請(qǐng)求的日期、發(fā)請(qǐng)求的時(shí)間、請(qǐng)求的詳細(xì)(包括請(qǐng)求的方法、地址、協(xié)議)、請(qǐng)求返回的狀態(tài)、請(qǐng)求文檔的大小。隨后網(wǎng)站服務(wù)器將頁(yè)面返回到訪問(wèn)者的瀏覽器內(nèi)得以展現(xiàn)。

       一些專業(yè)的工具廠商會(huì)有專門的處理服務(wù)器對(duì)大量的Log數(shù)據(jù)進(jìn)行處理,并將處理后的數(shù)據(jù)存放入自己的數(shù)據(jù)庫(kù)中。網(wǎng)站經(jīng)營(yíng)人員通過(guò)訪問(wèn)分析報(bào)表系統(tǒng)查看網(wǎng)站的分析數(shù)據(jù)。也有一些中小網(wǎng)站主出于成本的考慮不會(huì)求助于專業(yè)的工具廠商,他們會(huì)借助簡(jiǎn)單的網(wǎng)站日志分析軟件完成對(duì)Log數(shù)據(jù)的處理,當(dāng)然處理后的數(shù)據(jù)會(huì)有一定的局限性。

2. JavaScript標(biāo)記

       下圖是JavaScript標(biāo)記收集數(shù)據(jù)過(guò)程的示意圖。

JavaScript標(biāo)記收集數(shù)據(jù)過(guò)程的示意圖

       上圖所示JavaScript標(biāo)記同Web日志收集數(shù)據(jù)一樣,從網(wǎng)站訪問(wèn)者發(fā)出http請(qǐng)求開(kāi)始。不同的是,JavaScript標(biāo)記返回給訪問(wèn)者的網(wǎng)頁(yè)代碼中會(huì)包含一段特殊的JavaScript代碼,當(dāng)頁(yè)面展示的同時(shí)這段代碼也得以執(zhí)行。這段代碼會(huì)從訪問(wèn)者的Cookie中取得詳細(xì)信息(訪問(wèn)時(shí)間、瀏覽器信息、工具廠商賦予當(dāng)前訪問(wèn)者的userID等)并發(fā)送到工具商的數(shù)據(jù)收集服務(wù)器。數(shù)據(jù)收集服務(wù)器對(duì)收集到的數(shù)據(jù)處理后存入數(shù)據(jù)庫(kù)中。網(wǎng)站經(jīng)營(yíng)人員通過(guò)訪問(wèn)分析報(bào)表系統(tǒng)查看這些數(shù)據(jù)。

       JavaScript標(biāo)記以其快捷性和精確性已經(jīng)得到大多數(shù)工具廠商的青睞,已經(jīng)發(fā)展成為當(dāng)前最為流行的數(shù)據(jù)收集方式。

3. 包嗅探器

       下圖是包嗅探器收集數(shù)據(jù)過(guò)程的示意圖。

包嗅探器收集數(shù)據(jù)過(guò)程的示意圖

       上圖可以看出網(wǎng)站訪問(wèn)者發(fā)出的請(qǐng)求到達(dá)網(wǎng)站服務(wù)器之前,會(huì)先經(jīng)過(guò)包嗅探器,然后包嗅探器才會(huì)將請(qǐng)求發(fā)送到網(wǎng)站服務(wù)器。包嗅探器收集到的數(shù)據(jù)經(jīng)過(guò)工具廠商的處理服務(wù)器后存入數(shù)據(jù)庫(kù)。隨后網(wǎng)站經(jīng)營(yíng)人員就可以通過(guò)分析報(bào)表系統(tǒng)看到這些數(shù)據(jù)。

4. 數(shù)據(jù)收集方式的優(yōu)劣比較

       沒(méi)有一種數(shù)據(jù)收集方式是完美無(wú)缺的,不同數(shù)據(jù)收集方式也決定了各自的特性,了解不同收集方式的優(yōu)劣所在,會(huì)對(duì)工具的選擇也有一定的指導(dǎo)作用。

       下表是三種數(shù)據(jù)收集方式的優(yōu)劣比較詳細(xì):

  Web日志 JavaScript標(biāo)記 包嗅探器
優(yōu)點(diǎn) ?比較容易獲取數(shù)據(jù)源
?方便對(duì)歷史數(shù)據(jù)再處理
?可以記錄搜索引擎爬蟲的訪問(wèn)記錄
?記錄文件下載狀況
?數(shù)據(jù)收集靈活,可定制性強(qiáng)
?可以記錄緩存、代理服務(wù)器訪問(wèn)
?對(duì)訪問(wèn)者行動(dòng)追蹤更為準(zhǔn)確
?對(duì)跨域訪問(wèn)的監(jiān)測(cè)比較方便
?取得實(shí)時(shí)數(shù)據(jù)比較方便
缺點(diǎn) ?無(wú)法記錄緩存、代理服務(wù)器訪問(wèn)
?無(wú)法捕獲自定義的業(yè)務(wù)信息
?對(duì)訪問(wèn)者的定位過(guò)于模糊
?對(duì)跨域訪問(wèn)的監(jiān)測(cè)比較麻煩
?用戶端的JS設(shè)置會(huì)影響數(shù)據(jù)收集
?記錄下載和重定向數(shù)據(jù)比較困難
?會(huì)增加網(wǎng)站的JS腳本負(fù)荷
?初期導(dǎo)入費(fèi)用較高
?無(wú)法記錄緩存、代理服務(wù)器訪問(wèn)
?對(duì)用戶數(shù)據(jù)隱私有安全隱患

       決定選擇采用哪種數(shù)據(jù)收集方式之前,你需要先了解自己的需求。如果你不想自己網(wǎng)站的流量數(shù)據(jù)被任何第三方獲取,那么Web日志無(wú)疑是你的最佳選擇了。但想得到更貼近網(wǎng)站訪問(wèn)者行為的精確數(shù)據(jù),還是需要采用JavaScript標(biāo)記收集數(shù)據(jù)。這種數(shù)據(jù)收集方式不僅可以對(duì)緩存訪問(wèn)、代理訪問(wèn)正確記錄,而且可以通過(guò)Cookie對(duì)獨(dú)立訪問(wèn)者進(jìn)行更為精確的定位。

       當(dāng)然也有一些網(wǎng)站為了獲得多方面的數(shù)據(jù)而同時(shí)采取多種數(shù)據(jù)收集方式。例如采用JavaScript標(biāo)記收集精確數(shù)據(jù)的同時(shí),為了搜索引擎優(yōu)化對(duì)Web日志中的搜索引擎爬蟲記錄也進(jìn)行分析。也有已經(jīng)采用包嗅探器收集數(shù)據(jù),但為獲取緩存訪問(wèn)而同時(shí)進(jìn)行JavaScript標(biāo)記。

       采取何種數(shù)據(jù)收集方式也就很大程度決定了分析工具的選擇,但僅僅從這一個(gè)方面考慮工具如何選擇還是不夠的,后面的內(nèi)容會(huì)詳細(xì)介紹在選擇工具前,你都需要從工具提供商那里了解哪些技術(shù)參數(shù)來(lái)幫助你做出理智的判斷。

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }