网络分析工具如何运作?

时间:2009-02-04 07:09:17

标签: web-analytics web-analytics-tools

我正在为我的下一个作业收集有关网络分析工具(如Google Web Analytics)的信息,但我无法找到任何有用的信息。 我在寻找:

  1. 使用的关键术语。
  2. 所有媒体都可用于数据收集及其工作原理。
  3. 任何参考书,白皮书等(技术和非技术)。
  4. 任何开源实现(特别是在.NET中)。

3 个答案:

答案 0 :(得分:7)

以下是关键术语

  • 点击(互联网)
  • 页面浏览
  • 访问/会话
  • 首次访问/第一次会议
  • 访客/唯一身份访问者/唯一身份用户
  • 重复访客
  • 新访客
  • 展示
  • 单身
  • 跳出率
  • %退出
  • 可见时间
  • 会话持续时间
  • 页面浏览持续时间/页面上的时间
  • 每个会话的页面深度/页面浏览量
  • 每个唯一的频率/会话
  • 点击路径

使用的方法

  • Web服务器日志文件分析
  • 页面标记

Web服务器日志文件分析

在此方法中,您编写脚本以从日志文件中删除详细信息,然后将其写入数据库。此方法不会为您提供实时统计信息。您可以阅读有关Web日志分析软件here的更多信息。

页面标记

添加javascript代码或只是图片,然后使用代码获取有关页面,推荐人,访问者等的所有细节。

  

......这些是网络中包含的图片   显示次数的页面   已请求图像,其中   是估计的数量   访问该页面。在20世纪90年代末   这个概念演变为包括一个   小的隐形图像而不是   可见的,并且,通过使用JavaScript,   传递图像请求   关于页面的一些信息   访客。然后可以获得此信息   通过网络远程处理   分析公司,广泛   生成统计数据......

如果您在自己的网站中使用分析,则可以使用code provided by Eytan Levit

信用wikipedia。可以在那里找到更多信息。

答案 1 :(得分:4)

那么,

我不是专家,但是您可以检索一些常用数据来构建自己的分析:

string str;
str += "Refferer:" + Request.UrlReferrer.AbsolutePath.ToString() + "<BR>";
str += "Form data:" + Request.Form.ToString() + "<br>";
str += "User Agent:" + Request.ServerVariables["HTTP_USER_AGENT"] + "<br>";
str += "IP Address:" + Request.UserHostAddress.ToString() + "<BR>";
str += "Browser:" + Request.Browser.Browser + " Version: " + Request.Browser.Version + " Platform: " + Request.Browser.Platform + "<BR>";
str += "Is Crawler: " + Request.Browser.Crawler.ToString() + "<BR>";
str += "QueryString" + Request.QueryString.ToString() + "<BR>";

您还可以解析用户到达您网站的关键字,如下所示:

protected string GetKeywordFromReferrer(string url)
{
    if (url.Trim() == "")
    {
        return "no url";
    }
    string urlEscaped = Uri.UnescapeDataString(url).Replace('+', ' ');
    string terms = "";
    string site = "";

    Match searchQuery = Regex.Match(urlEscaped, @"[\&\?][qp]\=([^\&]*)");
    if (searchQuery.Success)
    {
        terms = searchQuery.Groups[1].Value;
    }
    else
    {
        Match siteDomain = Regex.Match(urlEscaped, @"http\:\/\/(.+?)\/");
        if (siteDomain.Success)
        {
            site = siteDomain.Groups[1].Value;
        }
    }
    if (terms != "")
    {
        return terms;
    }
    if (site != "")
    {
        return site;
    }

    return "Direct Access";

}

希望这有所帮助。

答案 2 :(得分:2)

<强> 1。使用的关键术语
与答案1一样

<强> 2。所有媒体都可用于数据收集及其工作原理。
来自Apache,IIS的日志文件。 ASP.NET处理程序或您的实际页面。 Javascript包括(Javascript可用的对象为您提供有关客户端的大部分信息)

第3。任何参考书,白皮书等(技术和非技术)
HTTP上的RFC非常有用,可以为您提供大部分可捕获的请求标头。

4.任何开源实现(特别是在.NET中)。

我写了一个完成分析的解析部分(在我看来最困难的部分)。它在4年前需要在某些领域进行一些调整:

它缺少一个比听起来更难的DAL - 主要障碍是确保你不会复制日志的每一行所具有的确切数据,因为你可以只使用日志文件。另一部分以漂亮的格式显示这些聚合数据。我的目标是将其存储在SQL Server中,以及db4o格式以满足较小的网站。

Statmagic项目的“悲伤”部分是谷歌出现并彻底消灭了竞争对手以及我完成它的任何一点。